PHP ofrece también soporte de expresiones regulares usando una sintaxis compatible con Perl usando las Funciones PCRE. Tales funciones soportan coincidencias no-ambiciosas, aserciones, subpatrones condicionales, y un número de características adicionales que no son soportadas por las sintaxis de expresiones regulares POSIX-extendido.
Estas expresiones regulares no son seguras con material binario. Las Funciones PCRE lo son.
Las expresiones regulares son usadas para la manipulación compleja de cadenas. PHP usa expresiones regulares POSIX extendidas, tal y como se definen por POSIX 1003.2. Para una descripción completa de las expresiones regulares POSIX, vea las » páginas de manual de regex incluidas en el directorio regex en la distribución de PHP. Se encuentran en formato manpage, así que querrá hacer algo del estilo de man /usr/local/src/regex/regex.7 para leerlas.
No se necesitan bibliotecas externas para construir esta extensión
No modifique el TIPO a menos que sepa lo que está haciendo.
Para habilitar el soporte para expresiones regulares, configure PHP con la opción --with-regex[=TIPO]. TIPO puede ser un valor entre system, apache, php. La acción predeterminada es usar php.
La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.
Esta extensión no tiene directivas de configuración en php.ini.
Esta extensión no tiene ningún tipo de recurso definido.
Esta extensión no tiene ninguna constante definida.
Example#1 Ejemplos de Expresiones Regulares
<?php
// Devuelve true si "abc" se encuentra en cualquier lugar de $cadena.
ereg("abc", $cadena);
// Devuelve true si "abc" es encontrado al comienzo de $cadena
ereg("^abc", $cadena);
// Devuelve true si "abc" es encontrado al final de $cadena.
ereg("abc$", $cadena);
// Devuelve true si el navegador del cliente es Netscape 2, 3 or MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $_SERVER["HTTP_USER_AGENT"]);
// Coloca tres palabras separadas por espacios en $regs[1], $regs[2] y $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $cadena, $regs);
// Coloca una etiqueta <br /> al comienzo de $cadena.
$cadena = ereg_replace("^", "<br />", $cadena);
// Coloca una etiqueta <br /> al final de $cadena.
$cadena = ereg_replace("$", "<br />", $cadena);
// Se deshace de cualquier caracter de salto de línea en $cadena.
$cadena = ereg_replace("\n", "", $cadena);
?>
Para consultar sobre expresiones regulares en una sintaxis compatible con Perl, eche un vistazo a las Funciones PCRE. Las coincidencias más simples de comodines tipo intérprete de comandos son ofrecidas por fnmatch().