【问题标题】:Regex for modifying html 'img' tag用于修改 html 'img' 标签的正则表达式
【发布时间】:2017-03-07 13:03:10
【问题描述】:

我有一个要求,我需要修改不以'/>' 结尾的 html 字符串中的 html 'img' 标签 例如:<img src=""> 需要改为<img src=""/> 我正在使用以下正则表达式:<img(.*[^/])> 替换为 <img$1/>

这很好用,但是对于像这样的情况:<center><img src=""/></center> 正则表达式返回:<center><img src=""></center/>

有什么建议如何影响这个正则表达式直到 img 标签的末尾?谢谢。

【问题讨论】:

标签: regex


【解决方案1】:

你可以使用这个:

<\s*img\s+([^>]*=(?:\".*?\"|\'.*?\'))[\s\w\-]*>

以下替换为:

<img $1/>

这将匹配这些简单和复杂的情况:

<img src="images/a.jpg" title="test"><br/>
<img  src="a/b.jpg" >
<span><img src="a.jpg"></span>
<img src="" title="">
<img src="" data-val>
<img src="a.jpg" title="a'>b">
<img src="a.jpg" title='a">b'>
<img src="a.jpg" title='a>=b"=>' >

但不关注:

<img src="a.jpg" />
<imgXTag src="b.jpg" >
<img src="a.jpg" /  >

Sample Demo

【讨论】:

    猜你喜欢
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    相关资源
    最近更新 更多