- preg_replace_callback: documentation ( source)
<?php
$text = 'My Name ## is "#P_NAM3#" and \r\n I am \'#P_AG2#\' years old `#abc#`';
$r = '#([^#]*)#';
//$r = '#(?P<name>.*?)#';
//$r = '#(\w*)#';
//preg_match_all('/'.$r.'/m', $text, $m);
//var_dump($m);
function trad($v) {
if($v == '' || $v == 'abc')
return $v . '_es';
return $v;
}
echo preg_replace_callback('/'.$r.'/m', 'trad', $text);