Tema: preg_match
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/07/2012, 21:50
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: preg_match

str_replace "reemplaza una cadena por otra".

Código PHP:
Ver original
  1. <?php
  2.  
  3. $bodytag = str_replace("%body%", "black", "<body text='%body%'>");

En este ejemplo en toda la cadena <body text='%body%'> se buscará el string %body% y donde lo encuentre lo reemplazará por black. El resultado sería:

Cita:
<body text='black'> (la cadena original era <body text='%body%'>)
Algo muy parecido hace preg_replace, pero de una forma más "avanzada" ya que le puedes usar expresiones regulares para encontrar algo más complejo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $cadena = 'Abril 15, 2003'; //tenemos esta cadena
  4. $patrón = '/(\w+) (\d+), (\d+)/i'; //la capturamos con la expresión regular
  5. $sustitución = '${1}1,$3'; //sustituimos lo capturado con una nueva cadena
  6. echo preg_replace($patrón, $sustitución, $cadena); //Resultado: Abril1,2003

El patrón se entiende perfectamente en el link que te dieron y en la sustitución $1 y $3 son la captura o subpatron, 1 de (\w+) y 3 del segundo (\d+) (Cada paréntesis toma un número en este ejemplo). Lo que hace es tomar lo mismo que se capturó entre los paréntesis y cambiarle el 15 por el 1 sin espacios.

Espero que se entienda.

Lee bien el manual. Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP