EXPRESIONES
REGULARES
Debemos entender por una expresión regular
una cadena de caracteres que se encuentra con regularidad en una cadena
compleja de caracteres. PHP implementa una serie de funciones para
la manipulación de expresiones regulares. En esta entrega vamos
a estudiar esas funciones y su utilidad en un programa de PHP.
Las funciones para la manipulación de expresiones
regulares más utilizadas que podemos encontrar en PHP son:
-
ereg()
- ereg_replace()
- eregi()
- eregi_replace()
Todas estas funciones toman como primer argumento la cadena o expresión
regular con la que se ha de trabajar.
Empecemos:
ereg("expresión", $contenedor, $arreglo)
Encuentra coincidencias de una expresión regular dentro de una
cadena.
ereg("rojo", $colores);
El ejemplo anterior devolvería
verdadero (TRUE), si la cadena de caracteres "rojo"
se encuentra en la variable $colores. Los argumentos
que toma son: la expresión regular que se ha de buscar, la variable
que contiene la cadena, un argumento opcional en el que se guardan las
coincidencias.
Así, el siguiente código:
<?php
$expresion = "Rápidos corren
los carros por el ferrocarril";
if(ereg("arr", $expresion,
$regs)){
for($i=0; $i<=count($regs);$i++){
echo "Coincidencia $i<BR>";
}
}
?>
Nos presenta el siguiente resultado:
Como
podemos ver, el programa encontró dos coincidencias de la expresión
regular (o cadena) "arr" y nos lo muestra
en pantalla.
ereg_replace("expresion", "reemplazo",
$contenedor)
La función reemplaza una cadena por otra, contenidas
dentro de la variable contenedor, de tal forma que al enviar una salida
a la pantalla, se imprimirá la cadena con los reemplazos respectivos,
sustituyendo a la expresión regular original.
Esto trabaja de la siguiente manera:
<?php
$expresion = "Rápidos corren
los carros por el ferrocarril";
echo ereg_replace("Rápidos",
"Lentos", $expresion);
?>
Produce la siguiente salida:
Como podemos
ver, la expresión "Rápidos", ha sido sustituida
por "Lentos".
eregi("expresión", $contenedor, $arreglo)
Encuentra coincidencias de una expresión regular
dentro de una cadena sin diferenciar mayúsculas de minúsculas.
Por lo demás, el funcionamiento es idéntico a ereg().
eregi_replace("expresion", "reemplazo",
$contenedor)
La función reemplaza una cadena por otra, contenidas
dentro de la variable contenedor, de tal forma que al enviar una salida
a la pantalla, se imprimirá la cadena con los reemplazos respectivos,
sustituyendo a la expresión regular original, sin distinción
entre mayúsculas y minúsculas.
Esto es posiblemente lo más utilizado en cuanto
a las expresiones regulares dentro de PHP, espero les sea de utilidad.
En nuestra próxima entrega hablaremos de las funciones y su poderosa
utilidad.
Por el momento, recuerden que como dijo Julio Verne:
"Todo lo que una persona puede imaginar, otras podrán hacerlo
realidad". Hagamos nuestros sueños realidad,... siempre.