删除HTML标记并从Facebook转换rss feed中的特殊字符

时间:2013-07-27 00:31:05

标签: android html facebook character-encoding rss

我在Android应用中从Facebook页面获取RSS提要。

我用来获取信息的URL如下: https://www.facebook.com/feeds/page.php?format=rss20&id=100407896713917

但是,例如,这个RSS提要会在有图像时返回一些HTML标记。对我来说,图像并不重要,我只想获得文字内容。

是否可以忽略此HTML标记并仅获取文本?

另一个问题,一些特殊字符正在转换为其他字符..但我想在下载信息时没有问题,因为如果我在浏览器中打开上面的URL,这些奇怪的字符也会出现。

有没有办法将奇怪的字符转换为法线字符? :)

1 个答案:

答案 0 :(得分:1)

我最终做了一个更机械的逻辑。 Dunno如果有更好的解决方案,但我所做的是根据代码转换每个字符(我不知道RSS用于特殊字符的代码类型)。这是我的逻辑

html = i.getDescription(); // some tag of rss feed
html = html.replaceAll("<(.*?)\\>"," ");//Removes all items in brackets
html = html.replaceAll("<(.*?)\\\n"," ");//Must be undeneath
html = html.replaceFirst("(.*?)\\>", " ");//Removes any connected item to the last bracket
html = html.replaceAll("&nbsp;"," ");
html = html.replaceAll("&amp;"," ");
html = html.replaceAll("&quot;","'");
html = html.replaceAll("&#xe7;","ç");
html = html.replaceAll("&#xe3;","ã");
html = html.replaceAll("&#xf3;","ó");
html = html.replaceAll("&#xe1;","á");
html = html.replaceAll("&#xe9;","é");
html = html.replaceAll("&#xed;","í");
html = html.replaceAll("&#xea;","ê");
html = html.replaceAll("&#xc9;","É");

有了这个逻辑,我也删除了HTML标签