SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: gnfrs en Jueves 31 de Enero de 2008, 17:16

Título: Regexp - Acentos
Publicado por: gnfrs en Jueves 31 de Enero de 2008, 17:16
Para que se entienda mejor muestro un ejemplo:

ereg('camion', 'el camión');

Necesito que eso devuelva 1, es decir, quiero saber si la palabra camion se encuentra dentro de la frase el camión, el problema es que el camión lleva acento y el patrón de búsqueda camion no lo lleva, eso provoca que ereg devuelva false.

También probé con mb_ereg() pero sigo sin dar con la solución.

Alguna sugerencia / idea?
Título: Re: Regexp - Acentos
Publicado por: Mollense en Jueves 31 de Enero de 2008, 18:24
Cita de: "gnfrs"
Para que se entienda mejor muestro un ejemplo:

ereg('camion', 'el camión');

Necesito que eso devuelva 1, es decir, quiero saber si la palabra camion se encuentra dentro de la frase el camión, el problema es que el camión lleva acento y el patrón de búsqueda camion no lo lleva, eso provoca que ereg devuelva false.

También probé con mb_ereg() pero sigo sin dar con la solución.

Alguna sugerencia / idea?
Podrías quitar todos los acentos antes de realizar la búsqueda. Algo como:

Código: Text
  1. $buscar = "áéíóúÁÉÍÓÚ";
  2. $reemplazarPor = "aeiouAEIOU";
  3.  
  4. $fraseSinAcentos =  strtr($fraseOriginal, $buscar, $reemplazarPor);
  5.  
  6. ereg('camion', $fraseSinAcentos);
  7.  

No se si sea lo mejor, pero es una idea.

Un saludo.  :comp:
Título: Re: Regexp - Acentos
Publicado por: ibito en Viernes 1 de Febrero de 2008, 17:22
El problema sería luego como devolver los acentos... no me convence tanto esa idea... por algo lleva acentos...
Título: Re: Regexp - Acentos
Publicado por: Mollense en Viernes 1 de Febrero de 2008, 18:30
Cita de: "ibito"
El problema sería luego como devolver los acentos... no me convence tanto esa idea... por algo lleva acentos...
La idea es no modificar la cadena original. Si la condición
Código: Text
  1. ereg('camion', $fraseSinAcentos);
  2.  
se cumple. Se sigue trabajando con la cadena original: $fraseOriginal que en ningún momento se modifica.

Bueno, no lo probé pero la idea es esa  :P
Título: Re: Regexp - Acentos
Publicado por: ibito en Domingo 3 de Febrero de 2008, 21:34
no había pensado en eso xD
Título: Re: Regexp - Acentos
Publicado por: su - en Sábado 8 de Marzo de 2008, 17:01
Se que el post es un tanto viejo... pero no sobra este link:

http://www.pello.info/?nP2LyUWE8FA=t4OB7Lpglg0=lPue+RlNnsg= (http://www.pello.info/?nP2LyUWE8FA=t4OB7Lpglg0=lPue+RlNnsg=)