Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_replace backreference date函数_Php_Regex_Function_Preg Replace_Backreference - Fatal编程技术网

Php preg_replace backreference date函数

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")',

PHP 5.2.15

我试图用date函数替换{date[F]}

我有一个非常有效的模式

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)遇到一些严格的标准错误,但它仍然有效;