如何让 preg_replace 使用 file_get_contents() 替换 html 中的双括号定界符?

How do I get preg_replace to replace double braced delimiters in html using file_get_contents()?

我可以使用 preg_replace 函数来查找并仅替换内部大括号分隔符。例如:下面的脚本将 { FIELD: date } 替换为 "12/12/2015" 但保留了外括号。

我试过转义外括号无济于事。请帮忙!

$myFileToCopy = file_get_contents("http://localhost/templatemaker/masterTemplates/".$object['fileName'].$object['fileExtension']);


$myFileToCopy =  preg_replace("{{ FIELD: date }}", "12/12/2015", $myFileToCopy);

根据您的示例,此处不需要正则表达式,因此 str_replacehttp://php.net/str_replace 就足够了。

$myFileToCopy = file_get_contents("http://localhost/templatemaker/masterTemplates/".$object['fileName'].$object['fileExtension']);
$myFileToCopy = str_replace("{{ FIELD: date }}", "12/12/2015", $myFileToCopy);

如果你想用正则表达式来做,你可以试试,

$myFileToCopy = file_get_contents("http://localhost/templatemaker/masterTemplates/".$object['fileName'].$object['fileExtension']);
$myFileToCopy =  preg_replace("~\{\{ FIELD: date \}\}~", "12/12/2015", $myFileToCopy);

注意 ~,它们是定界符 http://php.net/manual/en/regexp.reference.delimiters.php,它让 PHP 知道表达式的开始和结束位置。