Si tenemos en nuestra página un buscador será muy util para el usuario que cuando vea los resultados encontrados por nuestro buscador, le salgan las palabras clave marcadas. Para hacer esto utilizaremos la función str_replace() (evitar siempre eregi_replace, ereg_replace o preg_replace en la medida de lo posible ya que estas funciones consumen muchos más recursos). Resaltar una palabra es tan sencillo como sustituir en el texto cada palabra clave por <strong>palabra</strong> para marcarla en negrita o <span style="background-color: #88AAEEF">palabra</span> para marcarla con fondo azul. Podemos utilizar cualquier etiqueta o estilo.
<?php
$busqueda = "prueba";
$link = mysql_connect("host","user","pass");
mysql_select_db("db",$link);
$result = mysql_query("SELECT contenidos FROM tabla WHERE keyword LIKE '%".mysql_real_escape_string($busqueda)."%'",$link);
while($row = mysql_fetch_row($result)) {
echo str_replace($busqueda,"<span style='background-color: #88AAEE'>$busqueda</span>",$row[0]);
echo "<br /><br />";}
?>
En este caso leemos el contenido de una tabla MySQL y al mostrar cada uno de los resultados en pantalla reemplazamos la palabra de búsqueda con el estilo de fondo azul.
Redactado por Nenillo