Gracias por la respuesta pero no es el problema, efectivamente esa función sirve para modifcar un texto, pero el problema son lo acentos. Ahora mismo uso:
Código PHP:
$tmp2= strtolower_es($fulltxt); //pasa a minusculas... seria mejor usar mb_strlower
$tmp2= elimina_acentos(utf8_decode($tmp2)); // quita los acentos de la cadena original
while (eregi("[^\>](".$change.")[^\<]", " ".$tmp2." ", $regs)) {
$tmp2= eregi_replace($regs[1], "<b>".$regs[1]."</b>", $tmp2);
}
Por ejemplo:
$change = "cancion" // cadena a buscar
$tmp2 = "esta canción, es la mejor cancion" // texto donde buscarla
resultado que quisiera:
$tmp2 = "esta
canción, es la mejor
cancion"
Como se puede ver en el código dejo la cadena original(fulltxt) sin mayusculas(aunque no es necesario) ni acentos para que la funcion eregi encuentre el texto ($change).
La idea es que he pensado(aunque es muy fea) es localizar la posicion del texto en la cadena "sin formato", la $tmp2, y en la original añadir las etiquetas.
1 millon de dolares para quien encuentre una buena solución