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

Dit*_*lin 4 html php regex preg-replace

需要preg_replace的正则表达式.

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

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

可能的代码是:

<br />      &EMSP;      

在删除匹配标记之前:

<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>
Run Code Online (Sandbox Code Playgroud)

删除匹配标签后:

<div> 
  <h1>This is a html structure.</h1> 
  <p>This is not empty.</p> 
</div>
Run Code Online (Sandbox Code Playgroud)

kar*_*ala 7

您可以使用以下内容:

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

并替换为''(空字符串)

DEMO

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