Foros del Web » Programando para Internet » PHP »

Problema del eregi al tratar la ñ

Estas en el tema de Problema del eregi al tratar la ñ en el foro de PHP en Foros del Web. Buen día, Quisiera saber si alguien sabe como resolver este problema con el que me acabo de enfrentar ahora que quiero desplegar el contenido de ...
  #1 (permalink)  
Antiguo 24/01/2010, 01:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 2
Antigüedad: 14 años, 4 meses
Puntos: 0
Problema del eregi al tratar la ñ

Buen día,

Quisiera saber si alguien sabe como resolver este problema con el que me acabo de enfrentar ahora que quiero desplegar el contenido de una base de datos MySQL en un sitio web, vía php.

La situación es la siguiente; tengo una página donde le pido a un usuario su nombre para poder registrarle un comentario, y para ello, disponía de una expresión regular sencilla manejada con eregi que me permitía validar la entrada. Luego, esta entrada la convertía en mayúscula para tener mayor uniformidad a la hora de almacenar y recuperar información de la base de datos de MySQL. Sin embargo, observé que si el usuario introducí la "ñ", la función strupper no la conviertía automáticamente en "Ñ", quedando resultados como "NUñEZ", lo cual no se ve bien.

Entonces, creí que era tal vez un problema de codificación, por lo que proseguí a decodificar las variables que estaba recibiendo en $_POST, tal como $nombre = strtoupper(utf8_decode($_POST['nombre']), ya que antes de esto el nombre lo recibía y trataba en la validación tal cual el usuario lo proporcionaba en el formulario. Observé enseguida que después de este pequeño cambio, el strtoupper "YA" me convertió correctamente la "ñ" en "Ñ", pero el eregi me mandó el error al no reconocer el patrón siguiente: eregi('^[a-zñÑ]+([[:space:]][a-zñÑ]+)*$', $nombre). Al no encontrar la fuente del error, decidí regresar a mi primera opción: validar el nombre en crudo, es decir, como me lo pasó el usuario, observando además que en la base de datos, el nombre de Juan Nuñez se almacenó como JUAN NUñEZ.

Sintetizando mi problema en una pregunta es: cómo puedo validar con eregi, a través de una expresión regular, información que he codificado y decodificado previamente con utf8_decode y utf8_encode? Les agradecería mucho su ayuda si alguien supiera como salir de esta situación, pues no quisiera dejar el nombre sin validación, aún cuando esta es sencilla (posteriormente también quisiera incluir los acentos).

Gracias de antemano!!!
  #2 (permalink)  
Antiguo 24/01/2010, 01:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema del eregi al tratar la ñ

EREG no tiene soporte para UTF-8, mientras PCRE si....

te sugiero familiarizarte un poco, lee lo siguiente:
http://www.forosdelweb.com/f18/aport...s-pcre-646110/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:45.