通过 preg_replace_callback 替换 preg_replace

Replace preg_replace through preg_replace_callback

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

这是行:

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

这就是我所做的:

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

但是没有用。我仍然不明白 preg_replace_callback 是如何工作的。我还研究了许多其他主题。

谁能帮帮我。

非常感谢您!

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

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

参见PHP demo