加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何删除空的html标签(包含空格和/或其html代码)

发布时间:2020-12-13 17:48:51 所属栏目:PHP教程 来源:网络整理
导读:需要preg_replace的正则表达式. 这个问题在“另一个问题”中没有得到解答,因为并非我要删除的所有标签都不是空的. 我不仅要从HTML结构中删除空标记,还要删除包含换行符以及空格和/或html代码的标记. 可能的代码是: br / 安培; NBSP; 安培; thinsp; 安培; en
需要preg_replace的正则表达式.

这个问题在“另一个问题”中没有得到解答,因为并非我要删除的所有标签都不是空的.

我不仅要从HTML结构中删除空标记,还要删除包含换行符以及空格和/或html代码的标记.

可能的代码是:

< br /> &安培; NBSP; &安培; thinsp; &安培; ensp; &安培; EMSP; &安培;#8201; &安培;#8194; &安培;#8195;

在删除匹配标记之前:

<div> 
  <h1>This is a html structure.</h1> 
  <p>This is not empty.</p> 
  <p></p> 
  <p><br /></p>
  <p> <br /> &;thinsp;</p>
  <p>&nbsp;</p> 
  <p> &nbsp; </p> 
</div>

删除匹配标签后:

<div> 
  <h1>This is a html structure.</h1> 
  <p>This is not empty.</p> 
</div>

解决方法

您可以使用以下内容:

<([^>s]+)[^>]*>(?:s*(?:<br />|&nbsp;|&thinsp;|&ensp;|&emsp;|&#8201;|&#8194;|&#8195;)s*)*</1>

并替换为”(空字符串)

见DEMO

注意:这也适用于带有属性的空html标记.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读