Foros del Web » Programando para Internet » PHP »

resaltar texto en una busqueda

Estas en el tema de resaltar texto en una busqueda en el foro de PHP en Foros del Web. Hola tengo este codigo para resaltar texto en una busqueda: Código PHP: Ver originalCopiar @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <? $_REQUEST [ 'BOX_SearchName' ] ...
  #1 (permalink)  
Antiguo 10/01/2013, 13:57
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
resaltar texto en una busqueda

Hola tengo este codigo para resaltar texto en una busqueda:

Código PHP:
Ver originalCopiar
Código PHP:
Ver original
  1. <?
  2. $_REQUEST['BOX_SearchName']; //es el texto buscado
  3.  
  4. $descProduct; //contiene el texto de un item de la base de datos
  5.  
  6. if(!empty($_REQUEST['BOX_SearchName'])){
  7.     $descProduct = str_ireplace ($_REQUEST['BOX_SearchName'], '<span style="background:yellow">'.$_REQUEST['BOX_SearchName'].'</span>', $descProduct);
  8.                             }
  9. ?>


esto funciona perfecto, el problema es que cuando hace el replace no respeta las mayusculas/minisculas del texto original:

ej:
$descProduct = "Hola amigos";
$_REQUEST['BOX_SearchName'] = "HOLA";

resultado de $descProduct:

"HOLA amigos"

lo que necesito es que el resultado sea

"Hola amigos"

(HOLA estaria resaltado en amarillo)

gracias
__________________
...::: www.sehizolaweb.com.ar :::...

... En una mano la trampa ....
... En la otra el dardo y la red....
  #2 (permalink)  
Antiguo 10/01/2013, 14:08
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: resaltar texto en una busqueda

Mira esto

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 10/01/2013, 14:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: resaltar texto en una busqueda

Otra opción es usar una expresión regular:
Código PHP:
Ver original
  1. $reemplazar = 'hola';
  2. $texto = 'Hola mundo';
  3. echo preg_replace('/(' . preg_quote($reemplazar, '/') . ')/i', '<strong>\\1</strong>', $texto);
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: resaltar, busquedas
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 03:54.