Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Yaldabaot en 20 Julio 2016, 23:55 pm



Título: Problema con expresión regular en PHP
Publicado por: Yaldabaot en 20 Julio 2016, 23:55 pm
Hola amigos, les escribo nuevamente para una consulta tonta, pero sinceramente no logro entender cuál es el inconveniente.

Verán, estoy haciendo unas validaciones con PHP, las cuáles se hacen por medio de expresiones regulares, esta en lo particular lo que hace es simplemente permitir espacios y únicamente letras.

Código
  1.  
  2.  
  3. $nombre = limpiar($_POST["Nombre"]); //Acá obtengo el campo, el método limpiar sanitiza la variable.
  4.  
  5. $patron3 = "/^[A-Za-z\s]+$/"; //Valida sólo letras y espacios, este es el patrón.
  6.  
  7.  
  8. //Valida el nombre, esto está dentro de una function que retorna true o false cuando haya la asociación.
  9.  
  10. if (preg_match($patron3, $nombre) == true) {return true;} else {
  11. return false;}
  12.  
  13.  


Y cuando ejecuta el código me marca lo siguiente:

Warning: preg_match(): Empty regular expression in /miruta/ on line 300.

Sinceramente lo considero una babosada pero la verdad no logro entender, antes de que me digan si el campo está asociado con el POST, evidentemente lo está pues ese campo se inserta correctamente en mi base de datos por lo tanto el campo si está obteniéndose del html correctamente.

¿Tienen idea de que carajos puede ser?.

Muchas gracias.





Título: Re: Problema con expresión regular en PHP
Publicado por: Adrialmend en 22 Julio 2016, 13:33 pm
Prueba con la expresión así "/^[A-Z|a-z\s]+$/"
A simple vista debería ir bien.
Si sigue sin funciona para la función limpiar.

Edito: Se me ha olvidado, que puedes comprobar tus expresiones aqui http://www.regexpal.com/

Un saludo.