Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2009, 11:32
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Exclamación Problemas con preg_replace_callback()

Gente: he intentado aisalar las palabras de un string de forma de poder utilizar funciones de reemplazo sobre esas palabras. Casi lo logro con preg_replace_callback()

Código parser:
Ver original
  1. <?
  2. Function reemplazo ($matches){
  3.   $word = $matches[1];
  4.   if ($word=='C') $word='se';
  5.   if ($word=='mente') $word='pensamiento';
  6.   return " /{$word}\ ";
  7. }
  8.  
  9.  
  10. $str="Italico hizo esto para ver como C puede aislar, facilmente,palabras (words) de un string. Ej: mente y no espontaneamente";
  11.  
  12. $str= preg_replace_callback("|[ \[.,;(]{0,}([\wáéíóúñÑ]+)[ \].,;)]{0,}|","reemplazo",$str); // aisla palabras delimitadas por espacios, entre (), [], etc.
  13. echo $str;
  14.  
  15. ?>
Notar de que se reemplaza sin problemas 'mente' por pensamiento sin tocar 'espontaneamente'

El problema ? pierdo todas las comas y caracteres delimitadores que he usado en la expresion regular

Esto iba a ser un aporte.........y termina siendo un pedido de axulio
__________________
Salu2!

Última edición por Italico76; 12/07/2009 a las 11:45