Las expresiones regulares pueden resultarnos muy útiles en PHP a la hora de realizar funciones para validar contenidos, por ejemplo para comprobar si el valor introducido es una hora en formato adecuado, etc. Para esto, PHP dispone de 2 funciones principales: ereg($patron, $cadena) y eregi($patron, $cadena) la única diferencia entre las dos es que ereg comprueba las mayusculas y eregi no.
Sintáxis de las expresiones regulares
Patrón | Significado |
---|---|
. | cualquier carácter |
^c | empezar por el carácter c |
c$ | terminar por el carácter c |
c+ | 1 o más caracteres c |
c* | 0 o más caracteres c |
c? | 0 o 1 caracteres c |
\n | nueva línea |
\t | tabulador |
\ | escape, para escribir delante de caracteres especiales: ^ . [ ] % ( ) | * ? { } \ |
(cd) | caracteres c y d agrupados |
c|d | caracter c o d |
c{n} | n veces el carácter c |
c{n,} | n o más carácteres c |
c{n,m} | desde n hasta m caracteres c |
[a-z] | cualquier letra minúscula |
[A-Z] | cualquier letra mayúscula |
[0-9] | cualquier dígito |
[cde] | cualquiera de los carácteres c, d o e |
[c-f] | cualquier letra entre c y f (es decir, c, d, e o f) |
[^c] | que no esté el caracter c |
[[:alpha:]] | cualquier letra |
[[:digit:]] | cualquier dígito |
[[:alnum:]] | cualquier letra o dígito |
[[:space:]] | cualquier espacio en blanco |
[[:punct:]] | cualquier marca de puntuación |
[[:upper:]] | cualquier letra mayúscula |
[[:lower:]] | cualquier letra minúscula |
Por ejemplo, para comprobar si un valor es una hora utilizamos:
function comprueba_hora($hora) {
$patron="[0-23][0-59]:[0-23][0-59]";
if (ereg($patron,$hora)) {
return 1;
}
else return 0;
}
Fuente: Aquí
Interesantisimo