我尝试使用simple-rss lib解析RSS chaanal。
不幸的是我在节点中收到了很多垃圾:
<description><p>
some decryption
</p>
<a href="http://url.com/trac/xxx/wiki/foo?action=diff&amp;version=28">(diff)</a></description>
我需要检索文本(“某些描述”)和可选的网址。
最好的方法是什么? Regexp(如果这是答案,你可以举个例子吗?)?
答案 0 :(得分:3)
这不是垃圾。它只是HTML清理字符串。我假设通过网址,您的意思是使用html标记(<a></a>
)。以下代码应该可以工作。
require 'cgi'
description = "</p> <a href=\"http://url.com/trac/xxx/wiki/foo?action=diff&amp;version=28\">(diff)</a>"
CGI.unescapeHTML(description) # => </p> <a href="http://url.com/trac/xxx/wiki/foo?action=diff&version=28">(diff)</a>
如果您不想使用html标签,可以通过多种方式获取网址。一个简单的url正则表达式应该可以工作,我留给你弄清楚。(提示 - 谷歌)