好的,所以我有点困惑。这是我现在的代码,但我发现e
修饰符已被弃用。如何将其转换为preg_replace_callback()
?我还没弄明白。
$post = preg_replace("/\[code\]([^] )\[\/code\]/e", 'code(\'$1\')', $post);
答案 0 :(得分:6)
如果内存服务,preg_replace_callback()
会从$match
作为输入提供preg_match()
的结果,并期望最终结果作为输出。所以你需要编写一个返回的函数,例如"code('{$match[1]}')"
。
它可以是内联函数,当然,如果php 5.3是一个选项:
preg_replace_callback($regex, function($match) {
// do stuff
return $stuff;
}, $subject);