hola encontre por el foro esta funcion
Código PHP:
function doHighlight($srchTerms,$haystack) {
$srchTerms = preg_quote($srchTerms, "/"); // Tambien agregue esto
$needle =str_replace(" ", "|", $srchTerms);
$busca = array("a","e","i","o","u", "ñ", "Ñ");
$reemplaza = array("[aàáâãäåÀÁÂÃÄÅ]", "[eèéêëÈÉÊË]", "[iìíîïÌÍÎÏ]", "[oòóôõöÒÓÔÕÖ]", "[uùúûüÙÚÛÜ]", "[nñÑ]", "[nñÑ]");
$needle = str_replace($busca, $reemplaza, $needle);
$text = preg_replace("/($needle)/i","<span style=\"background:#FFFF9F\">\\0</span>", $haystack);
return $text;
}
y me funciona bien, pero tengo un problema que no consigo solucionar y es que cuando el texto que se subraya va dentro de un link lo pone mal por ejemplo buscamos php entonces si el link fuera <a href="http//php.net">loquesea</a> lo devuelve <a href="http//<span style="background:#FFFF9F"">php</span>.net">loquesea</a> entonces el link queda mal sabeis como puedo solucionarlo?,solo quiero que seleccionara el texto si no esta dentro de un href pero si si esta en el texto del enlace
Un Saludo y gracias