Php preg_replace backreference date函数
PHP 5.2.15 我试图用date函数替换{date[F]} 我有一个非常有效的模式Php preg_replace backreference date函数,php,regex,function,preg-replace,backreference,Php,Regex,Function,Preg Replace,Backreference,PHP 5.2.15 我试图用date函数替换{date[F]} 我有一个非常有效的模式 preg_replace('/({date\[(.*?)\]})/', date(${2}), $subject); 我尝试过preg_replace_回调,但即使在使用create_函数()时,它似乎也不起作用 在我尝试的方法中,我得到的大部分是未定义的错误。您确实需要。替换表达式必须是字符串: = preg_replace('/(\{date\[(.*?)\]})/e', 'date("$2")',
preg_replace('/({date\[(.*?)\]})/', date(${2}), $subject);
我尝试过preg_replace_回调,但即使在使用create_函数()时,它似乎也不起作用
在我尝试的方法中,我得到的大部分是未定义的错误。您确实需要。替换表达式必须是字符串:
= preg_replace('/(\{date\[(.*?)\]})/e', 'date("$2")', $subject);
请注意,您还忘记转义第一个{
花括号
请参阅手册示例了解。或回调必须如何解包匹配参数(听起来像是您的原始版本)。您应该使用
([^]+)
,而不是(.*)
Sweet,尽管我使用preg\u replace('/(\{date[^]+])/e、'date('2')、$subject)遇到一些严格的标准错误,但它仍然有效;