Etiqueta: expresiones regulares
function limpiarTags($source, $tags = null) { function clean($matched) { $attribs = «javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|». «onmousemove|onmouseout|onkeypress|onkeydown|onkeyup|». «onload|class|id|src|style»; $quot = «\»|\’|\`»; $stripAttrib = «‘ ($attribs)\s*=\s*($quot)(.*?)(\\2)’i»; $clean = stripslashes($matched [0] ); $clean = preg_replace($stripAttrib, », $clean); return $clean; } $allowedTags='<a><br><b><i><br><li><ol><p><strong><u><ul>’; $clean = strip_tags($source, $allowedTags); $clean = preg_replace_callback(‘#<(.*?)>#’, «clean», $source); return $source; } //ejm: echo limpiarTags(«este código es malicioso <script>alert(‘hola!’)</script>»);
Continuar leyendo...
Esta expresión regular filtra las palabras groseras que algunos de nuestros usuarios podrían poner. function deswear($string){ function prep_regexp_array(&$item){ $item = «#$item#i»; } function stars($matches){ return substr($matches [0] , 0, 1).str_repeat(«*», strlen($matches [0] )-1); } $swears = array(«idiota», «invecil»); array_walk($swears, «prep_regexp_array»); return preg_replace_callback($swears, «stars», $string); } //ejm: echo deswear(«marcianito es un idiota»);
Continuar leyendo...
function convertirURL($url) { $host = «( [a-z\d] [-a-z\d] * [a-z\d] \.)+ [a-z] [-a-z\d] * [a-z] «; $port = «(:\d{1,})?»; $path = «(\/ [^?<>\#\»\s] +)?»; $query = «(\? [^<>\#\»\s] +)?»; $reg = «#((ht|f)tps?:\/\/{$host}{$port}{$path}{$query})#i»; return preg_replace($reg, «<a href=’$1′>$1</a>», $url); } //ejm: echo convertirURL(» visita http://www.google.com»);
Continuar leyendo...
Al realizar una aplicación de comercio electrónico es muy importante validar los distintos tipos de tarjetas de credito que hay, esta es una simple función para validarla, solo tiene que llamar a la función getTipoTarjeta(“4111 1111 1111 1111?); function validarTarjeta($num_tarjeta) { $num_tarjeta = preg_replace(«/\D|\s/», «», $num_tarjeta); $length = strlen($num_tarjeta); $parity = $length % 2; $sum=0;
Continuar leyendo...
El formato utilizado seria así: 000 000 0000,(000)-000-0000. Donde los primeros 3 números serian el código de tu País. function validarTelefono($numero) { $reg = «#^\(?\d{3}\)? [\s\.-] ?\d{3} [\s\.-] ?\d{4}$#»; return preg_match($reg, $numero); } //ejm: if(validarTelefono(«(511)-311-4541»)) { echo «telefono valido»; } else { echo «telefono invalido»; }
Continuar leyendo...
Valida que una dirección IP este dentro del rango 0.0.0.0 a 255.255.255.255 function validarIP($ip) { $val_0_to_255 = «(25 [012345] |2 [01234] \d| [01] ?\d\d?)»; $reg = «#^($val_0_to_255\.$val_0_to_255\.$val_0_to_255\.$val_0_to_255)$#»; return preg_match($reg, $ip, $matches); } //ejm: if(validarIP(«192.168.1.1»)) { echo «IP valida»; } else { echo «IP invalida»; }
Continuar leyendo...
Esta validación acepta la fecha en formato DD-MM-YYYY, con separadores (/),(-) y (.); function validarFecha($fecha){ $sep = » [\/\-\.] «; $req = «#^(((0? [1-9] |1\d|2 [0-8] ){$sep}(0? [1-9] |1 [012] )|(29|30){$sep}(0? [13456789] |1 [012] )|31{$sep}(0? [13578] |1 [02] )){$sep}(19| [2-9] \d)\d{2}|29{$sep}0?2{$sep}((19| [2-9] \d)(0 [48] | [2468] [048] | [13579] [26] )|(( [2468] [048] | [3579]
Continuar leyendo...
Con este código validamos un email con expresines regulares en php, function validarEmail($email) { $reg = «#^(((( [a-z\d] [\.\-\+_] ?)*) [a-z0-9] )+)\@(((( [a-z\d] [\.\-_] ?){0,62}) [a-z\d] )+)\.( [a-z\d] {2,6})$#i»; return preg_match($reg, $email); } //ejm: if(validarEmail(«cesar@gmail.com»)) { echo «email valido»; } else { echo «email invalido»; } tambien pueden descargar la clase EAValidator desde phpclasses.org
Continuar leyendo...
<?php // Devuelve true si «abc» se encuentra en cualquier lugar de $cadena. ereg(«abc», $cadena); // Devuelve true si «abc» se encuentra al comienzo de $cadena. ereg(«^abc», $cadena); // Devuelve true si «abc» se encuentra al final de $cadena. ereg(«abc$», $cadena); // Devuelve true si el navegador del cliente es Netscape 2, 3 o MSIE
Continuar leyendo...