Si yo hago esto asi:
Código PHP:
<?php
//Validar eñes y acentos... además
$cadenas="Hola tengo un árbol y una planta de piña";
echo $cadenas."<br>";
if(preg_match("/^[a-zA-Z áéíóúAÉÍÓÚÑñ]+$/",$cadenas)){
echo "Cadenas válidas";
}else{
echo "Cadenas no válidas";
}
?>
Valida perfectamente, solo que cuando imprime el ECHO sale esto
Cita: Hola tengo un árbol y una planta de piña
Cadenas válidas
por ello solo usas el utf8_decode cuando vas a imprimir en html, no cuando vas a validar, ya que tendrá otra codificacion y la exp_reg no la entendería y tiraría false...
Código PHP:
<?php
//Validar eñes y acentos... además
$cadenas="Hola tengo un árbol y una planta de piña";
if(preg_match("/^[a-zA-Z áéíóúAÉÍÓÚÑñ]+$/",$cadenas)){
echo "Cadenas válidas<br>";
echo utf8_decode($cadenas);
}else{
echo "Cadenas no válidas";
}
?>
Ahora si tu objetivo es guardar las eñes y acentos en la BD te recomiendo otra cosa, pero si es por validar, eso debería validarlo.. no te validaría si llega por ejemplo la palabra AÑEJA de esta manera añeja