Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/12/2011, 14:12
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: problema con tildes en expresiones regulares

Hola amigo que tal,

veras sucede lo siguiente:
_______________________________

1.- Que sucede cuando imprimes en el navegador una cadena letras acentuadas?

Código PHP:
Ver original
  1. echo "áéíóú";

Que es lo que puedes ver en el navegador? Son las mismas vocales acentuadas que has colocado en el echo?

Entonces tu expresión regular esta intentando comparar una cadena de texto cuya entrada es de vocales acentuadas pero su salida es de otros símbolos, esta es una de las 2 razones por la que tu expresión regular no funciona.

Solución: Podrías utilizar utf8_decode antes de comparar con preg_match.
---------------------------------------

2.- La otra razón, es en la expresión regular. Escapar las vocales acentuadas no es del todo bueno hay otra solución un poco más copada.

Utiliza la expresión hexadecimal de las vocales acentuadas.

á: \xe1
é: \xe9
í: \xed
ó: \xf3
ú: \xfa

Verifícalas en alguna tabla puede que ya no me acuerde bien y me haya equivocado.


En fin.

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.