He dado con lo siguiente para hacer control de las diferentes entradas de los usuarios.
Expresion regulares, y para ello he intentado indicar simplemente que el usuario sólo pueda ingresar letras de a-z,A-Z, espacio y vocales acentuadas.
Pero he estado algo confundido:
Código PHP:
public function nombres($arg){
$patron='/^[[:alpha:]]+$/';
if(preg_match($patron,$arg)){
$this->nombre=$arg;
}else{echo $arg.', no es un nombre válido, sólo se permiten carácteres a-z y A-Z, y letras acentuadas.';}
}
Indico paso por paso,
/ es estructura basica para indicar el patron, el
^ indica el inicio de la busqueda del patron, [[:alpha:]] indica cualquier letra (incluidas vocales acentuadas, ñ, ç, etc), el signo
+ (no tengo idea realmente del uso de el), y el signo
$ indica el final del patron, en conclusión le estare diciendo que busque en toda la "palabra" dicho patron.
Problemas.
¿Para que el uso del signo
+?.
He ingresado igualmente una caracter de la forma é,í,...,etc y este me muestra la condicion contraria.
¿Cómo añadiria el espacio a dicho patron?.
Pueden ser preguntas algo obvias, pero no he encontrado información sobre esta misma, lo que he encontrado es lo siguiente y se basa en compatibilidad con perl.
Expresiones regulares.
¡Saludos y gracias!.