【问题标题】:How to convert preg_replace e to preg_replace_callback?如何将 preg_replace e 转换为 preg_replace_callback?
【发布时间】:2013-04-28 08:36:08
【问题描述】:

好的,所以我有点困惑。这是我现在拥有的代码,但我刚刚发现 e 修饰符已被弃用。如何将其转换为preg_replace_callback()?我还没弄明白。

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

【问题讨论】:

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


【解决方案1】:

如果没记错的话,preg_replace_callback() 会为您提供来自preg_match()$match 的结果作为输入,并期望最终结果作为输出。所以你需要编写一个返回例如的函数"code('{$match[1]}')".

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

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

【讨论】:

  • 非常感谢,帮了大忙。我会在允许的时候接受。
猜你喜欢
  • 2016-05-18
  • 2015-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
相关资源
最近更新 更多