如何从({{}})php中的特殊字符替换内容

时间:2019-05-25 10:39:26

标签: php

我有一个段落,其中包含一些内容以及{{0001ABC}}内的值,我想用一些内容(例如找到的代码)替换{{0001ABC}}。

preg_replace('/{{"([^\\"]+)"}}/', "Code found", "Hello {{0001ABC}}");

结果应该像这样

  Hello Code found

1 个答案:

答案 0 :(得分:2)

您的正则表达式模式不正确。这是应该工作的版本:

\{\{[^{}]+\}\}

这将匹配两个大括号,然后是一个或多个不是大括号的字符,然后是两个大括号。请记住,{}是正则表达式元字符,具有特殊含义,因此如果我们希望它们表示文字字符,则需要转义。

您更新的脚本:

$input = "Hello {{0001ABC}}";
$output = preg_replace("/\{\{[^{}]+\}\}/", "Code found", "Hello {{0001ABC}}");
echo $output;

此打印:

Hello Code found