我在这里有一个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
是如何运作的。我还研究了许多其他线程。
任何人都可以帮助我。
非常感谢你!
答案 0 :(得分:0)
您需要使用$m[1]
来访问$m
数组中的第二个元素:
preg_replace_callback("/=([0-9A-F][0-9A-F])/", function($m) { return
chr(hexdec($m[1])); }, $line
);
请参阅PHP demo。