Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/12/2010, 05:38
MikiAir78
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1
Antigüedad: 13 años, 7 meses
Puntos: 0
Problema con caracteres especiales en buscador

Buenos días,

Ante todo daros las gracias de antemano y deciros que llevo toda la mañana intentando dar con la solución a mi problema pero aunque estoy seguro que está, no encuentro ninguna solución en los foros.

Os explico mi problema. He hecho una aplicación de gestión de contenidos para una empresa bastante sencilla, un formulario para introducir noticias con un wysiwyg, posibilidad de subir documentos, fotos... y posibilidad de elegir la noticia que quieren publicar en cda momento.

Todo funciona correctamente, mi problema viene porque tb tengo que hacerles un buscador sencillo y aparentemente funciona con todo salvo con los caracteres especiales. Todo parece venir de que el wysiwyg envía a la base de datos los caracteres especiales convertidos en entidades html por lo que al llamarlos desde la base de datos y compararlos con las palabras clave si hay caracteres especiales de por medio nunca coinciden y por tanto no se muestran.

El tema es conseguir una función que traduzca los caracteres especiales de la palabra clave en entidades html o lo que sería mejor convertir tanto las entidades html como los literaes en caracteres simples para que la busqueda sirva tanto si los usan como si no.

Si alguno conoce una función en php que haga eso u otra forma de hacerlo se lo agradezco. Me estoy volviendo loco con este tema.

Supongo que no lo necesitaréis, pero el código que estoy usando para las búsquedas es para búsquedas de 1 palabra:

Código PHP:
$sql_select mysql_query("SELECT * FROM noticias WHERE titulo LIKE '%" mysql_real_escape_string($buscar) . "%' OR contenido LIKE '%" mysql_real_escape_string($buscar) . "%'"); 
Para varias palabras mi intención es usar la función Match Against, pero todavía no la tengo funcionando.

Un saludo