【发布时间】:2021-03-02 14:22:12
【问题描述】:
我想做这样的事情:
我有这个字符串:
Lorem ipsum {shortcode 42} dolor sit amet.
我想这样解析:
preg_replace('/\{shortcode (\d+)\}/i', MyClass::myFunction('$1') , $content);
MyClass 代码如下所示:
class MyClass {
public static function myFunction(string $id) {
// ...
return 'hello world';
}
}
但在myFunction() 中$id 将始终是$1 字符串,而不是原始$1 的内容,什么是数字。
如何将参数中的 preg_replace 替换值传递给我的函数?
【问题讨论】:
-
“但在 myFunction() 中,$id 将始终是 $1 字符串” - 不仅如此,它会在任何替换之前被 调用甚至发生。如果您将函数 call 指定为另一个函数的参数,则该函数调用会在另一个函数运行之前发生。
-
我也检查了这个,但结果相同。你能用我的代码给我一个例子吗?我认为这是一件太简单的事情,但我没有看到一些基本的东西......谢谢!
-
该手册页上有多个示例。
标签: php regex preg-replace