preg_replace反向引用日期函数

时间:2012-01-13 05:13:51

标签: php regex function preg-replace backreference

PHP 5.2.15

我正在尝试用日期函数替换{date [F]}。

我的模式很有效。

preg_replace('/({date\[(.*?)\]})/', date(${2}), $subject);

我尝试了preg_replace_callback,但即使我使用create_function()

它也似乎不起作用

我在尝试的方法上得到了大多数未定义的错误。

1 个答案:

答案 0 :(得分:1)

您确实需要/e modifier。替换表达式必须是一个字符串:

= preg_replace('/(\{date\[(.*?)\]})/e', 'date("$2")', $subject);

请注意,您也忘了逃避第一个{大括号。

请参阅preg_replace#105490的手册示例。或者preg_replace_callback回调如何解包匹配参数(这听起来像是你原来的问题)。