0

PHP 5.2.15

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

我有很好用的模式。

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

我已经尝试过 preg_replace_callback 但即使我使用 create_function() 它似乎也不起作用

我尝试的方法大多是未定义的错误。

4

1 回答 1

1

你确实需要/e修饰符。并且替换表达式必须是一个字符串:

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

请注意,您还忘记了转义第一个{花括号。

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

于 2012-01-13T05:20:20.703 回答