使用php替换HTML <p>标记内具有特定语言字符的内容

时间:2018-09-27 06:47:19

标签: php html regex preg-replace

<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 标签,而不能用空格替换所有字符串。

2 个答案:

答案 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