通过preg_replace_callback替换preg_replace

时间:2017-06-13 17:12:31

标签: php preg-replace preg-replace-callback

我在这里有一个PHP库,我想用preg_replace替换preg_replace_callback

这是一行:

preg_replace("/=([0-9A-F][0-9A-F])/e", 'chr(hexdec("$1"))', $l)

这就是我所做的:

preg_replace_callback("/=([0-9A-F][0-9A-F])/", function($m) { return chr(hexdec($m["$1"])); }, $line);

但它没有用。我仍然不明白preg_replace_callback是如何运作的。我还研究了许多其他线程。

任何人都可以帮助我。

非常感谢你!

1 个答案:

答案 0 :(得分:0)

您需要使用$m[1]来访问$m数组中的第二个元素:

preg_replace_callback("/=([0-9A-F][0-9A-F])/", function($m) { return  
    chr(hexdec($m[1])); }, $line
);

请参阅PHP demo