3

我需要替换模板的所有单词,但是这些单词包含在 {} 和 [] 中。请帮忙

$content = '<div class="header header">{header} {header2} [header][/header]</div>';
$content = preg_replace("/(\s|\"|\')(^$)header(^$)(\s|\"|\')/is",'new_class',$content);

输出应如下:<div class="new_class new_class">{header} {header2} [header][/header]</div>

4

2 回答 2

0
$result = preg_replace('/header(?![^{}[\]]*[\]}])/', 'new_class', $subject);

仅当下一个括号或大括号不是右括号或大括号时才替换header为。new_class

于 2012-11-29T08:27:53.080 回答
0

这应该工作

$content = '<div class="header header">{header} {header2} [header][/header]</div>';
$content = preg_replace("/([\\s\"'])header(?=[\\s\"'])/is",'$1new_class',$content);

"'这将替换由空格或空格包围的所有“标题” 。

于 2012-11-29T08:19:55.610 回答