Preg_replace和自定义标签

时间:2013-01-22 15:30:06

标签: php frameworks content-management-system preg-replace

我创建了一个自定义标记,需要在呈现页面之前将其删除并替换。标签如下所示:[@ customTagToBeReplaced]

我正在使用的preg_replace模式在php中是这样的:

$pattern = "/\[@ .*\]/is";

当我实现它时,有时会剥离更多或更少的字符,从而使一半的html标记被破坏。像这样:

之前:

<div class="">
[@ error]
</div>

后:

<div class="</div>

1 个答案:

答案 0 :(得分:0)

你的模式过于贪婪,尝试更具体的东西:

$pattern = "/\[@ \w+\]/is";

\w匹配任何单词字符(字母数字和下划线)。