正则表达式删除空的< span>标签 [英] Regular expression to remove empty <span> tags

查看:442
本文介绍了正则表达式删除空的< span>标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述














<跨度> &安培; NBSP; &安培; NBSP; &安培; NBSP; < / span>



我试过用这个正则表达式,但它需要调整:

(< span>(& nbsp; | \s)*< / span>)

$ b

preg_replace('#< span>(& nbsp; | \s)*< / span> #si','< \\\ 1>',

$ div class =h2_lin>解决方案

将Kent Fredric的正则表达式翻译成PHP:

  preg_match_all('#< span [^>] *(?:/>> |>(?: \ s |& nbsp; )*< / span>)#im',$ html,$ result); 

这将匹配:


  • 自动关闭跨越

  • 跨越多行,无论是何种情况

  • 跨越属性

  • 跨度不可空格



也许您应该包含仅包含< br /> 以及...

像往常一样,当涉及到调整正则表达式时,一些工具很方便:

http://regex.larsolavtorvik.com/


I would like such empty span tags (filled with &nbsp; and space) to be removed:

<span> &nbsp; &nbsp; &nbsp; </span>

I've tried with this regex, but it needs adjusting:

(<span>(&nbsp;|\s)*</span>)

preg_replace('#<span>(&nbsp;|\s)*</span>#si','<\\1>',$encoded);

解决方案

Translating Kent Fredric's regexp to PHP :

preg_match_all('#<span[^>]*(?:/>|>(?:\s|&nbsp;)*</span>)#im', $html, $result);

This will match :

  • autoclosing spans
  • spans on multilines and whatever the case
  • spans with attributes
  • span with unbreakable spaces

Maybe you should about including spans containings only <br /> as well...

As usual, when it comes to tweak regexp, some tools are handy :

http://regex.larsolavtorvik.com/

这篇关于正则表达式删除空的&lt; span&gt;标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆