Foros del Web » Programando para Internet » PHP »

resaltar palabra buscada en buscador

Estas en el tema de resaltar palabra buscada en buscador en el foro de PHP en Foros del Web. Hola a todos. Estoy haciendo un mini buscador interno para una página y quiero que en los resultados de búsqueda se vea en negrita la ...
  #1 (permalink)  
Antiguo 24/05/2004, 10:34
Avatar de peleo  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 37
Antigüedad: 14 años, 1 mes
Puntos: 0
resaltar palabra buscada en buscador

Hola a todos. Estoy haciendo un mini buscador interno para una página y quiero que en los resultados de búsqueda se vea en negrita la palabra buscada. En este mismo foro está lo mismo pero la palabra está en rojo.
Utilizo
Código PHP:
$texto str_replace $query"<b><em>$query</em></b>"$texto); 
El problema está en las entradas que tienen tildes o ñ, que no son encontradas por str_replace.
He estado buscando en las expresiones regulares para hacer algo con eregi_replace, pero no encuentro la forma de hacer un pattern que identifique cualquier acento o ñ.

Si alguien sabe algo al respecto creo que sería útil para todos ¿no?

Saludos
  #2 (permalink)  
Antiguo 21/06/2004, 04:19
Avatar de peleo  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 37
Antigüedad: 14 años, 1 mes
Puntos: 0
Vaya...

Parece que no es demasiado interesante el tema...
  #3 (permalink)  
Antiguo 21/06/2004, 04:37
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
has comprobado que no se guarden como &ntilde; ??
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #4 (permalink)  
Antiguo 21/06/2004, 06:13
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 15 años, 10 meses
Puntos: 8
Yo tuve un problema similar. Estaba buscando entre los mensajes de mis usuarios y mi problema era que no siempre escribían bien, por lo que tenía que buscar palabras como 'escribían' con acento y sin él, por si acaso.

La solución pasó por hacer una barbaridad. Acabé cargando dos copias del texto a buscar: la original y una sin acentos. Mi proceso buscaba en la copia sin acentos, obtenía la posición de la palabra encontrada y ponía el <em> en el lugar indicado pero de la copia original.

Un poco lioso , pero funcionaba bién...
__________________
Kelpie
  #5 (permalink)  
Antiguo 25/06/2004, 04:08
Avatar de peleo  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 37
Antigüedad: 14 años, 1 mes
Puntos: 0
Bueno, me parece un poco fuerte duplicar todas las entradas de texto en la base de datos. Eso quiere decir que la base siempre ocupará el doble de lo que debería ocupar en realidad, en fin todo sería el doble, y la verdad no lo veo muy eficiente. Si a ti te sirvió estupendo, cada uno tiene una necesidad diferente en cuanto a recursos. De todos modos muchas gracias. Si alguna vez encuentro una solución menos drástica prometo ponerla aquí.
Saludos.
  #6 (permalink)  
Antiguo 25/06/2004, 04:22
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Prueba con
Código PHP:
$texto str_replace htmlentities($query), "<b><em>$query</em></b>"htmlentities($texto)); 
__________________
¿Te apasiona el mundo del guión? El portal del guión

Última edición por living; 25/06/2004 a las 04:24
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 21:03.