使用 php 从字符串中删除不需要的段落


Remove unwanted paragraphs from string using php

如何在

以下情况下使用pregmatch删除不需要的标签。 我写了Pregmatch,但它在某些情况下不起作用。 这是我的字符串

<?php 
$str='<div class="borderdummydiv" style="padding: 10px;">
<div class="showcolsec" style="line-height: normal;">
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><strong>Email Template for Testing - 01:</strong></p><p style="font-size: 14px;" data-mce-style="font-size: 14px;"><br data-mce-bogus="1"></p><p style="font-size: 14px;" data-mce-style="font-size: 14px;">Email body for testing the autoresponder mails and email blasts scheduling functionality<br data-mce-bogus="1"></p>
<p></p>
<p><br></p>
<p></br></p>
<p>&nbsp; </br></p>
<p>&nbsp; <br class="ddd"></p>
<p class="ddd"></p>
<p class="ddd"><br class="ddd"></p>
<p class="ddd"></br></p>
<p class="ddd">&nbsp; </br></p>
<p class="ddd">&nbsp; <br class="ddd"></p>
</div>
</div>';
//echo $str;
echo preg_replace("/<p[^>]*>['s|&nbsp;|<'br [^>]*>|<'/br>]*<'/p>/", '', $str);
?>

下面是不需要的段落。 那么我如何从字符串中删除

<p></p>
<p><br></p>
<p></br></p>
<p>&nbsp; </br></p>
<p>&nbsp; <br class="ddd"></p>
<p class="ddd"></p>
<p class="ddd"><br class="ddd"></p>
<p class="ddd"></br></p>
<p class="ddd">&nbsp; </br></p>
<p class="ddd">&nbsp; <br class="ddd"></p>
在正

则表达式的第 <''br [^>]*部分中>用反斜杠转义"b"。通过它,您可以将其设为退格键。我想你不想这样。

尝试删除该反斜杠,然后使其:

echo preg_replace("/<p[^>]*>['s|&nbsp;|<br [^>]*>|<'/br>]*<'/p>/", '', $str);

编辑:(因为提问者的新信息)好的,有了这个它就可以工作了:

echo preg_replace("/<p[^>]*>('s|&nbsp;|<br [^>]*>|<'/?br>)*<'/p>/", '', $str);

必须用圆形括号替换方括号,并使"br"之前的斜杠可选。

这是我的代码

$str='<div class="borderdummydiv" style="padding: 10px;">
<div class="showcolsec" style="line-height: normal;">
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><strong>Email Template for Testing - 01:</strong></p>
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><br data-mce-bogus="1"></p>
<p></p>
<p><br></p>
<p></br></p>
<p>&nbsp; </br></p>
<p>&nbsp; <br class="ddd"></p>
<p class="ddd"></p>
<p class="ddd"><br class="ddd"></p>
<p class="ddd"></br></p>
<p class="ddd">&nbsp; </br></p>
<p class="ddd">&nbsp; <br class="ddd"></p>
<p style="font-size: 14px;" data-mce-style="font-size: 14px;">Email body for testing the autoresponder mails and email blasts scheduling functionality<br data-mce-bogus="1"></p>
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><strong>Email Template for Testing - 01:</strong></p><p style="font-size: 14px;" data-mce-style="font-size: 14px;"><br data-mce-bogus="1"></p><p style="font-size: 14px;" data-mce-style="font-size: 14px;">Email body for testing the autoresponder mails and email blasts scheduling functionality<br data-mce-bogus="1"></p>
</div>
</div>';
//echo $str;
echo preg_replace("/<p[^>]*>['s|&nbsp;|<br [^>]*>|<'/br>]*<'/p>/", '', $str);

这是输出的 html

<div class="borderdummydiv" style="padding: 10px;">
<div class="showcolsec" style="line-height: normal;">
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><strong>Email Template for Testing - 01:</strong></p>
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><br data-mce-bogus="1"></p>
<p></p>
</p>
<p>
<p>&nbsp; 
<p>&nbsp; <br class="ddd"></p>
<p class="ddd"></p>
<p class="ddd"><br class="ddd"></p>
<p class="ddd">
<p class="ddd">&nbsp; 
<p class="ddd">&nbsp; <br class="ddd"></p>
<p style="font-size: 14px;" data-mce-style="font-size: 14px;">Email body for testing the autoresponder mails and email blasts scheduling functionality<br data-mce-bogus="1"></p>
<p style="font-size: 14px;" data-mce-style="font-size: 14px;"><strong>Email Template for Testing - 01:</strong></p><p style="font-size: 14px;" data-mce-style="font-size: 14px;"><br data-mce-bogus="1"></p><p style="font-size: 14px;" data-mce-style="font-size: 14px;">Email body for testing the autoresponder mails and email blasts scheduling functionality<br data-mce-bogus="1"></p>
</div>
</div>

在浏览器中像这样显示

Email Template for Testing - 01:





Email body for testing the autoresponder mails and email blasts scheduling functionality
Email Template for Testing - 01:

Email body for testing the autoresponder mails and email blasts scheduling functionality