Archivo

Posts Tagged ‘expresiones regulares’

Expresiones Regulares en PHP

Funciones PHP

preg_match
Nos permite evaluar si un string hace match con una expresión regular. Por ejemplo, para validar un email haríamos lo siguiente

function verificar_email($email)
{
   if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email))
   {
      return true;
   }
   return false;
}

Otros ejemplos interesantes pueden ser:
1. verificar si un password es seguro

function verificar_password_strenght($password)
{
   if (preg_match("/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/", $password))
      echo "Su password es seguro.";
   else
      echo "Su password no es seguro.";
}

2. Verificar el fomato de una IPv4

function verificar_ip($ip)
{
   return preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" .
"(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $ip );
}

3. Verificar formato de número telefónico en EU

function verificar_telefono_eu($telefono)
{
   $regex = '/^(?:1(?:[. -])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'
.'(?:(?$0', $text);
}

preg_replace

Busca un patrón y si hace match se sustituye éste por un remplazo definido como una cadena o simplemente la re ordenación de datos dentro del patrón mediante retroreferencias. Éstas son simplemente una sintaxis para hacer referencia a los matches que ocurrirán al ejecutar una expresión regular. Por ejemplo, para convertir una fecha en formato YYYY/MM/DD a formato DD/MM/YYYY podemos utilizar retroreferencias:

function cambiar_formato_fecha($fecha)
{
   return preg_replace("/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/i","$3/$2/$1",$fecha);
}

Refiriéndose $1 al primer match ([0-9]{4}) y así sucesivamente. Entonces esta función busca un patrón de fecha YYYY/MM/DD y lo cambia a DD/MM/YYYY.

Categorías:Desarrollo, PHP Etiquetas: ,