我希望在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
答案 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。