Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2014, 10:55
juanito_29899
 
Fecha de Ingreso: noviembre-2013
Mensajes: 27
Antigüedad: 10 años, 6 meses
Puntos: 1
preg_match tildes en php insensible

Quiero poner en negrita los términos que coincidan indiferente a mayúsculas, minúsculas y tildadas. Gracias a /i me sirve para mayúsculas y minúsculas pero pese a poner /u, no es indiferente con las tildes. Mi meta es que marque en negrita tanto "camión" como "camion". ¿Alguna idea? Este es el código.

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. function resaltar($busqueda_para_negrita, $texto_para_negrita)
  4. {
  5.     $claves_para_negrita = explode(" ",$busqueda_para_negrita);
  6.     $clave_para_negrita = $claves_para_negrita;
  7.     $num = count($clave_para_negrita);
  8.     for($i=0; $i < $num; $i++)
  9.         $texto_para_negrita = preg_replace("/(".trim($clave_para_negrita[$i]).")/ui","<b>\\1</b>",$texto_para_negrita);
  10.     return $texto_para_negrita;
  11. }
  12.  
  13. $busqueda = "estas amigo avión mecanicos";
  14. $titulo = "Hola amigo mio que tal estas avion mecÃnico";
  15.  
  16. $titulo = resaltar($busqueda, $titulo);
  17.  
  18. echo "<u>Búsqueda:</u> $busqueda";
  19. echo "<br>";
  20. echo "<u>TÃ*tulo:</u> $titulo";
  21. ?>