La idea es poder manipular cadenas para hace cosas como por ejemplo modificar una cadena para convertirla en una URL amigable, evitar el uso de ciertos parametros en etiquetas HTML, validar correos y mil y un aplicaciones mas.
Por ejemplo si quisieramos validar un correo electronico:
[cc lang=»php»]
$email=»mio@mail.com»
$pattern = «^([A-Za-z0-9\.|-|_]{1,60})([@])»;
$pattern .=»([A-Za-z0-9\.|-|_]{1,60})(\.)([A-Za-z]{2,3})$»;
ereg($pattern,$email)
[/cc]
El ejemplo anterior comprueba que solo se permita una arroba, que hay al menos dos letras en la extension del dominio, solo permite numeros, letras, guiones y subguiones ademas de una longitud minima de 6 caracteres.
Para eso se usa la funcion ereg() de php, los parametros mas usados son:
Tipo de Operador | Ejemplo | Descripción |
---|---|---|
Caracteres literales
Localización de un carácter concreto |
a A y 6 % @ | Letras, digitos y cualquier carácter especial |
\$ \^ \+ \\ \? | Precede un caracter especial con el signo \ para cancelar su significado | |
\n \t \r | Nueva linea, tabulación y retorno de carro | |
\cJ \cG | Códigos de control | |
\xa3 | Códigos hexadecimales | |
Delimitadores | ^ | Empieza con |
$ | Termina con | |
Grupo de carácteres | [aAeEiou] | cualquier carácter incluído en [ ] |
[^aAeEiou] | cualquier carácter excepto aAeEiou | |
[a-fA-F0-9] | cualquier carácter hexadecimal (‘0’ a ‘9’ o ‘a’ a ‘f’) | |
. | cualquier carácter | |
[[:space:]] | cualquier espacio (espacio \n \r o \t) | |
[[:alpha:]] | cualquier letra | |
[[:digit:]] | cualquier digito | |
[^[:space:]] | cualquier carácter que no sea un espacio | |
Agrupaciones aplicadas a elementos | + | 1 o mas (”algunos”) |
* | 0 o mas (”quizas algunos”) | |
? | 0 0 1 (”quizas a”) | |
{4} | 4 exactos | |
{4,} | 4 o más | |
{4,8} | entre 4 y 8 | |
Alternar | | | una u otra |
Agrupando | ( ) | agrupación almacenandola a una variable |
(?: ) | agrupacion sin almacenar en variable |