ruby on rails正则表达式从文本中删除html标签及其内容

时间:2010-03-19 07:41:53

标签: ruby-on-rails ruby

我希望在rails上的ruby中使用正则表达式,从而删除给定文本中的所有html标记及其内容。

例如,如果我的文字是:-INPUT: -

<span id="span_is"><br><br><u><i>Hi</i></u></span> 

然后它应该只显示OUTPUT应该如下: -

Hi

简而言之,我想要正则表达式或删除&lt;&gt;的函数以及&lt;&gt;。

之间的内容

谢谢&amp;的问候,

Salil Gaikwad

3 个答案:

答案 0 :(得分:16)

'<span id="span_is"><br><br><u><i>Hi</i></u></span>'.gsub(/<\/?[^>]+>/, '')

答案 1 :(得分:14)

您的字符串非常简单,解决方案可能有效。但是,你不应该重新发明轮子。 Rails已经包含了一些强大的sanitization helpers

string = '<span id="span_is"><br><br><u><i>Hi</i></u></span>'
strip_tags(string)

答案 2 :(得分:1)

不要这样做。请。

虽然您的样本输入相当简单,但您提到您希望在更广泛的范围内使用它。

http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html

对于Ruby,您可以尝试使用http://hpricot.com/来解析HTML。