<p class="myClass">你好</p><p class="myClass">你好</p></div> <div class="myDiv">Integer in ante sit amet tellus sodales sagittis non sit amet nisi. Integer sollicitudin, orci nec tincidunt laoreet, dui quam tempor risus, sed mollis nisl libero nec ligula</div><p class="myClass">你好</p>
我正尝试仅替换<p class="myClass">你好</p>
,但是整个字符串都将被替换。
模式:
$pattern = "/<p class=\"myClass\">(.)*<\/p>/";
preg_replace($pattern,"",$string);
当我在新行上放置 p 标记时,效果很好。但是要有 p 标签,而不能用空格替换所有字符串。
答案 0 :(得分:0)
(.*?)
选择了所有字符,但是您需要选择<p>
,所以请使用[^<]+
来选择除<
之外的所有字符。
$pattern = "/<p class=\"myClass\">[^<]+<\/p>/";
preg_replace($pattern, "", $string);
在demo中查看结果
答案 1 :(得分:0)
尝试一下:-
$str = '<p class="myClass">你好</p><p class="myClass">你好</p></div> <div class="myDiv">Integer in ante sit amet tellus sodales sagittis non sit amet nisi. Integer sollicitudin, orci nec tincidunt laoreet, dui quam tempor risus, sed mollis nisl libero nec ligula</div><p class="myClass">你好</p>';
preg_replace('#<p(.*?)>(.*?)</p>#is', '', $str);
它将替换字符串中的所有<p>
标签。
检查此小提琴:-https://3v4l.org/Un9Jh