正则表达式:在文本和标签img之间插入一个中断

时间:2013-03-25 12:47:20

标签: ruby regex

我想在几个或一个img标签之前的任何文本之后插入一个中断:

我有一个文字:

Some text, some text <img src="thumb.jpg" /><img src="thumb2.jpg" />

我想得到:

Some text, some text <br /><img src="thumb.jpg" /><img src="thumb2.jpg" />

我想使用gsub方法在Ruby中使用正则表达式。

2 个答案:

答案 0 :(得分:3)

也许这个?

str.gsub(/((?:<img[^>]+>)+)/, '<br />\1')

取决于您如何定义文本,您可能需要对Regexp进行一些更改才能进行正确的替换。

答案 1 :(得分:0)

听起来您实际上应该使用sub而不是gsub,因此它只会更改您遇到的<img>标记的第一个实例:

s.sub(/<img/, '<br /><img')