2010-11-30 108 views
2

我正在使用Ruby on Rails 2.3.8,并且我有一个用户键入帖子的网站。他们每个人都有一个简短的描述,显示在主页面。该描述是从原始的自动构建的,但它只是截断,因此它可以达到最多240个字符。以编程方式从html中删除图像和视频

问题是那些描述可能包含图像或视频,我不希望它们在截断这些字符串时出现。我使用Hpricot插件来解析HTML,下面的正则表达式解析图片:

body = Hpricot.parse(html_body) 
body = body.to_s.gsub(/<img .*?>/, '') 

这是消除图像,但有时它留下一个字符串代替,例如它说:“图像”或“IMG”图像在哪里。现在,例如,我从描述中删除图像后,看到一个松散的“垃圾”文本。也许正则表达式不正确。

有没有人知道哪个是正确的正则表达式去除图像,还有来自html的视频?

+0

为什么不避免在你的内容中添加一些html。在你可以做一些多重gsub以避免你想要的。 – shingara 2010-11-30 12:55:48

回答

1

它似乎去找我,你正在寻找img空间它后。

难道你不想要这个,所以你可以抓住<img和一切,但不包括>,然后抓住>

很难说如果它没有源输入工作。

<img([^>])+ 

小心:不会使用嵌套标签。