php - 如何在php中替换({{}})特殊字符的内容
问题描述
我有一个段落,其中包含一些内容以及 {{0001ABC}} 内的值我想用一些内容替换 {{0001ABC}},例如找到的代码。
preg_replace('/{{"([^\\"]+)"}}/', "Code found", "Hello {{0001ABC}}");
结果应该是这样的
Hello Code found
解决方案
您的正则表达式模式不正确。这是一个应该可以工作的版本:
\{\{[^{}]+\}\}
这将匹配两个左大括号,后跟一个或多个不是大括号的字符,然后是两个右大括号。请记住,{
and}
是正则表达式元字符,具有特殊含义,因此如果我们希望它们表示文字字符,则需要转义。
您更新的脚本:
$input = "Hello {{0001ABC}}";
$output = preg_replace("/\{\{[^{}]+\}\}/", "Code found", "Hello {{0001ABC}}");
echo $output;
这打印:
Hello Code found
推荐阅读
- php - 使用 PHP 和 SQL,对于动态网页,存储从一个表的多行到另一行的单行的关联的最佳方法是什么
- javascript - 如何在下一个 js 中使用外部 js 库?
- macros - 如何在 Julia 中创建多行宏?
- typescript - 如何从数组值实现数学表达式?
- javascript - vue,匹配没有ID的数组中的字符串,如果匹配则删除
- xcode - iPhone 很忙:让 iPhone 为开发做好准备 - iOS 15 - Xcode 13
- django - 将 django 模板重新加载到 ajax 响应中
- html - CSS:带有 inline-flex 的“宽度:自动”容器的行为规则是什么?
- webpack - 为什么我只能在 webpack 5 中导入生产构建的文件?
- docker - 未经授权:需要身份验证 Harbor