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