Gracias por tu respuesta, con ese metodo puder resumir la funcion asi:
Código PHP:
function resaltar($buscar, $texto) {
$clave = preg_split("/[\s,]+/",$buscar);
foreach($clave as $i){
$i = trim($i);
if(!empty($i)) $salida[] = $i;
}
$num = count($salida);
for($i=0; $i < $num; $i++)
$texto = preg_replace("/(".trim($clave[$i]).")/i","<span class='palabra'>\\1</span>",$texto);
return $texto;
}
pero sigo con el problema de las tildes.
edito: por el momento agregue esta funciones que me encontre en la pagina de:
http://www.linuxhispano.net/2011/05/...-enes-con-php/ Código PHP:
function normaliza ($cadena){
$originales = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
ßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
$modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuy
bsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
$cadena = utf8_decode($cadena);
$cadena = strtr($cadena, utf8_decode($originales), $modificadas);
$cadena = strtolower($cadena);
return utf8_encode($cadena);
}
asique primero paso las cadenas por esta funcion y luego por la funcion resaltar, se que ha de haber mejores formas pero mientras vamos aprendiendo todo es bueno. hay caminos cortos y largos....