如何转换的preg_replace E要preg_replace_callback?(How to

2019-09-01 22:38发布

好了,所以我稍微困惑。 这里是我现在的代码,但我只是发现了e修正已过时。 我该如何将它转换为preg_replace_callback() 我还没有想通了。

$post = preg_replace("/\[code\]([^] )\[\/code\]/e", 'code(\'$1\')', $post);

Answer 1:

如果没有记错, preg_replace_callback()给你一个结果$match来自preg_match()作为输入,并期望最终结果为输出。 所以,你需要写一个返回例如,功能"code('{$match[1]}')"

它可以是一个内联函数,当然,如果PHP 5.3是一个选项:

preg_replace_callback($regex, function($match) {
  // do stuff
  return $stuff;
}, $subject);


文章来源: How to convert preg_replace e to preg_replace_callback?