Comunidad de diseño web y desarrollo en internet online

preg_replace....

Citar            
MensajeEscrito el 07 Feb 2008 02:38 am
Alguien podría explicarme que hace este preg_replace?

Gracias.

Código :

  $this->mihtml = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . $\\1 . '", $this->mihtml);

Por goosfancito

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Feb 2008 03:58 am
buscar las palabras que esta entre llaves {} en la cadena $this->mihtml y las reemplaza por $ + palabra. Ejemplo

Código :

$string = "Una {coincidencia} ";

$string = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . $\\1 . '", $string);

//ahora string es 'Una '. $coincidencia .' ';

$coincidencia = "variable";

echo $string ; // esto imprime: "Una variable" 

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 07 Feb 2008 11:42 am

Maikel escribió:

buscar las palabras que esta entre llaves {} en la cadena $this->mihtml y las reemplaza por $ + palabra. Ejemplo

Código :

$string = "Una {coincidencia} ";

$string = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . $\\1 . '", $string);

//ahora string es 'Una '. $coincidencia .' ';

$coincidencia = "variable";

echo $string ; // esto imprime: "Una variable" 


lo que no logro entender es justamente lo que esta en {} porque ponen esos caracteres a-z0-9... me da la idea de que busca cualquier letra en minusculas o numeros del 0 al 9 pero ya con [ ] y # y #is no me da la cabeza.

Por goosfancito

6 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 07 Feb 2008 03:35 pm
Eh eso es una expresion regular, se usan para buscar patrones en un texto.


  • [] es para agrupar conjunto de caracteres.
  • {([a-z0-9\-_]*?) que coincida con cualquier cantidad de caracteres que esté entre llaves y que solo contenga: letras minusculas, numeros, guion y underscore.
  • Los # son los delimitadores de inicio y fin de la expresion regular.
  • is Son los modificadores de patron "i" y "s". La i se refiere a que la expresión regular no haga distinción entre mayuscula y minuscula, asi incluimos las letras mayuscula; s por su lado dice que analice toda la cadena sin importar los saltos de lineas y demas espacios en blanco.


Te recomiendo que leas sobre expresiones regulares. Enlaces de php.net:

Sintaxis de los Patrones

Modificadores de Patrón

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 07 Feb 2008 07:31 pm

Maikel escribió:

Eh eso es una expresion regular, se usan para buscar patrones en un texto.


  • [] es para agrupar conjunto de caracteres.
  • {([a-z0-9\-_]*?) que coincida con cualquier cantidad de caracteres que esté entre llaves y que solo contenga: letras minusculas, numeros, guion y underscore.
  • Los # son los delimitadores de inicio y fin de la expresion regular.
  • is Son los modificadores de patron "i" y "s". La i se refiere a que la expresión regular no haga distinción entre mayuscula y minuscula, asi incluimos las letras mayuscula; s por su lado dice que analice toda la cadena sin importar los saltos de lineas y demas espacios en blanco.


Te recomiendo que leas sobre expresiones regulares. Enlaces de php.net:

Sintaxis de los Patrones

Modificadores de Patrón



de 10! perfecto. gracias.

Por goosfancito

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Feb 2008 07:43 pm

Por goosfancito

6 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.