<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标签 没有空格替换所有字符串。
试试这个:-
$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
(.*?)
选择所有字符,但您需要选择<p>
因此请使用[^<]+
来选择除<
之外的每个字符。
$pattern = "/<p class="myClass">[^<]+</p>/";
preg_replace($pattern, "", $string);
在演示中检查结果