用于修改html'img'标签的正则表达式

时间:2017-03-06 09:27:07

标签: regex

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

这适用于以下情况:<center><img src=""/></center>正则表达式返回:<center><img src=""></center/>

有关如何影响此正则表达式的任何建议,直到img标记的结尾?感谢。

1 个答案:

答案 0 :(得分:0)

你可以用这个:

<\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