Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/05/2014, 18:12
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Preg_replace sin distinguir mayúsculas... pero que lo deje "como estaba"

El manual explica su funcionamiento que son sutiles diferencias es igual al de preg_replace() mira una comparativa: 3 variaciones *

Código PHP:
Ver original
  1. <?php
  2. /*
  3.     Comparando preg_replace() con preg_replace_callback()
  4.     @author: italico76
  5. */
  6.  
  7. // Datos
  8. $word = 'arroz';
  9. $document = 'Arroz de la mejor marca es el arroz que vendemos en MercadIT!';
  10. $_tag = 'b';  //<b> .. </b>
  11.  
  12. // Programa
  13.  
  14. $pattern = '/'.$word.'/i';
  15.  
  16. function reemplazos_insensibles($match)
  17. {  
  18.     global $_tag;
  19.     return "<$_tag>$match[0]</$_tag>"; 
  20. }
  21.  
  22.  
  23. /*
  24.   preg_replace_callback
  25. */
  26. $out = preg_replace_callback ($pattern,'reemplazos_insensibles', $document);
  27. printf ("%s\n<br/>",$out); 
  28.  
  29. /*
  30.  preg_replace_callback + funciones anonimas
  31. */
  32. $out = preg_replace_callback ($pattern, function($match)
  33.     {
  34.         global $_tag;
  35.         return "<$_tag>$match[0]</$_tag>"; 
  36.     }
  37.     , $document);
  38. printf ("%s\n<br/>",$out); 
  39.    
  40. /*
  41.     preg_replace
  42. */
  43. $out = preg_replace ($pattern , "<$_tag>"."$0"."</$_tag>" , $document);
  44. printf ("%s\n",$out);
__________________
Salu2!

Última edición por Italico76; 18/05/2014 a las 20:11