Por casualidad, me encontré con esta página
www.celulaweb.net, donde un compañero de Foros del Web y de php-hispano.net publicó uno de mis aportes y me citó en los créditos (cosa infrecuente y que agradezco sobremanera). Más allá de la anécdota, creo que la función puede resultar útil y es por esta razón que la publico:
<?php
if(!function_exists('str_ireplace')) {
function str_ireplace($search,$replace,$subject) {
$search = preg_quote($search, "/");
return preg_replace("/".$search."/i", $replace, $subject); } }
function resaltar($palabra, $texto) {
$aux=$reemp=str_ireplace($palabra,'%s',$texto);
$veces=substr_count($reemp,'%s');
if($veces==0)return $texto;
$palabras_originales=array();
for($i=0;$i<$veces;$i++){
$palabras_originales[]='<strong>'.substr($texto,strpos($aux,'%s'),strlen($palabra)).'</strong>';
$aux=substr($aux,0,strpos($aux,'%s')).$palabra.substr($aux,strlen(substr($aux,0,strpos($aux,'%s')))+2);
}
return vsprintf($reemp,$palabras_originales);
}
?>
La función tiene como objetivo resaltar, en los resultados de una búsqueda, la cadena que originó dichos resultados (como cuando usamos el buscador de Google).
En el código mostrado, dicha cadena se mostrará en negrita, pero es sencillo modificar la función para que muestre otros tipos de resaltado.