我有一个段落,其中包含一些内容以及{{0001ABC}}内的值,我想用一些内容(例如找到的代码)替换{{0001ABC}}。
preg_replace('/{{"([^\\"]+)"}}/', "Code found", "Hello {{0001ABC}}");
结果应该像这样
Hello Code found
答案 0 :(得分:2)
您的正则表达式模式不正确。这是应该工作的版本:
\{\{[^{}]+\}\}
这将匹配两个大括号,然后是一个或多个不是大括号的字符,然后是两个大括号。请记住,{
和}
是正则表达式元字符,具有特殊含义,因此如果我们希望它们表示文字字符,则需要转义。
您更新的脚本:
$input = "Hello {{0001ABC}}";
$output = preg_replace("/\{\{[^{}]+\}\}/", "Code found", "Hello {{0001ABC}}");
echo $output;
此打印:
Hello Code found