0

我创建了一个自定义标签,需要在呈现页面之前将其剥离和替换。标签看起来像这样:[@customTagToBeReplaced]

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

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

当我实现它时,有时或多或少的字符会被剥离,留下一半的 html 标签被破坏。像这样:

前:

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

后:

<div class="</div>
4

1 回答 1

1

你的模式太贪心了,试试更具体的:

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

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

于 2013-01-22T15:31:51.277 回答