Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2008, 03:45
Avatar de michaelc
michaelc
 
Fecha de Ingreso: abril-2005
Ubicación: Caracas
Mensajes: 112
Antigüedad: 19 años, 7 meses
Puntos: 3
Resaltar Keywords en una busqueda

Hola amigos, tengo una duda que no he encontrado respuesta. Estoy desarrollando un buscador para un sitio Web, deseo que me resalte los keywords que previamente tengo almacenados en una variable tipo vector.

Aqui un extracto del código:

Código PHP:
$b $_GET['b']; // Obtener keywords del formulario

// Contar los Keywords
$trozos explode (" "$b);
$numero count ($trozos);

// Ejecutar "Query" dependiendo de la cantidad
if ($numero == 1) {
    
$sql_query "SELECT * FROM fn_bcenter WHERE type LIKE '%".$b."%' OR description LIKE '%".$b."%'";
} else {
    
$sql_query "SELECT * FROM fn_bcenter WHERE MATCH(type, description) AGAINST ('%".$b."%' IN BOOLEAN MODE) ";
}

$result mysql_query($sql_query$db_connect); 
La idea es: si escribo en buscar "impresora laser" dentro del texto me resalte "texto" y "laser"a la vez. Por la red solo he visto ejemplos para un solo keyword y no encuentro la manera de aplicarlo para varios a la vez.

La variable "$trozos" almacena en array ($trozos[0],$trozos[1],$trozos[2]...) los keywords. Como puedo sustituir por ejemplo estas palabras a la vez dentro de un texto entero almacenado en "$row['description'], la idea es que las coincidencias esten en color rojo o negrillas.

Intente realizarlo con un While pero me duplica las cadenas con las funciones ereg_replace() y str_replace(). Si alguien puede echarme una mano se los agradeceria
__________________
http://www.michaelcrespo.net/
Diseñador Web, Gráfico y Multimedia