Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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中({}})特殊字符的内容_Php - Fatal编程技术网

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

如何替换php中({}})特殊字符的内容,php,Php,我有一个段落,其中包含了一些内容和{{0001ABC}中的值。我想用一些内容替换{0001ABC}},例如找到的代码 preg_replace('/{{"([^\\"]+)"}}/', "Code found", "Hello {{0001ABC}}"); 结果应该是这样的 Hello Code found 您的正则表达式模式不正确。以下是一个可以工作的版本: \{\{[^{}]+\}\} 这将匹配两个开头的大括号,后面是一个或多个非大括号的字符,后面是两个结尾的大括号。请记住,{和}

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

preg_replace('/{{"([^\\"]+)"}}/', "Code found", "Hello {{0001ABC}}");
结果应该是这样的

  Hello Code found

您的正则表达式模式不正确。以下是一个可以工作的版本:

\{\{[^{}]+\}\}
这将匹配两个开头的大括号,后面是一个或多个非大括号的字符,后面是两个结尾的大括号。请记住,
{
}
是regex元字符,具有特殊含义,因此如果我们希望它们表示文字字符,则需要转义

您的更新脚本:

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

Hello Code found

有人知道吗?