PHP 5.2.15
我正在尝试用日期函数替换{date [F]}。
我的模式很有效。
preg_replace('/({date\[(.*?)\]})/', date(${2}), $subject);
我尝试了preg_replace_callback,但即使我使用create_function()
它也似乎不起作用我在尝试的方法上得到了大多数未定义的错误。
答案 0 :(得分:1)
您确实需要/e
modifier。替换表达式必须是一个字符串:
= preg_replace('/(\{date\[(.*?)\]})/e', 'date("$2")', $subject);
请注意,您也忘了逃避第一个{
大括号。
请参阅preg_replace
#105490的手册示例。或者preg_replace_callback
回调如何解包匹配参数(这听起来像是你原来的问题)。