我创建了一个自定义标记,需要在呈现页面之前将其删除并替换。标签如下所示:[@ customTagToBeReplaced]
我正在使用的preg_replace模式在php中是这样的:
$pattern = "/\[@ .*\]/is";
当我实现它时,有时会剥离更多或更少的字符,从而使一半的html标记被破坏。像这样:
之前:
<div class="">
[@ error]
</div>
后:
<div class="</div>
答案 0 :(得分:0)
你的模式过于贪婪,尝试更具体的东西:
$pattern = "/\[@ \w+\]/is";
\w
匹配任何单词字符(字母数字和下划线)。