将preg_replace替换为preg_replace_callback

时间:2014-03-22 21:47:19

标签: php preg-replace

有人可以帮我转换代码

$file = preg_replace('~&#([0-9]+);~e', 'chr("\\1")', $file);

使用preg_replace_callback而不是它? 感谢

2 个答案:

答案 0 :(得分:2)

$file = preg_replace_callback('~&#([0-9]+);~', function($m) { return chr($m[1]); }, $file);

如果你使用的是不支持匿名功能的php版本,你可以这样做:

function myfunction($m) { return chr($m[1]); }
$file = preg_replace_callback('~&#([0-9]+);~', 'myfunction', $file);

答案 1 :(得分:0)

可能是这样的:

$file = preg_replace_callback(
           '~&#([0-9]+);~',
           function ($matches) {
              // action
           },
           $file
);

PS。没有e修饰符。