Jsoup Whitelist:解析非英语角色

时间:2012-03-03 06:03:33

标签: java html parsing jsoup

我正在尝试使用Jsoup清除HTML文本并从中提取纯文本。 HTML可能包含非英文字符。

例如,HTML文本是:

String html = "<p>Á <a href='http://example.com/'><b>example</b></a> link.</p>";

现在,如果我使用Jsoup#parse(String html)

String text = Jsoup.parse(html).text();

正在打印:

Á example link.

如果我使用Jsoup#clean(String bodyHtml, Whitelist whitelist)清理文字:

String text = Jsoup.clean(html, Whitelist.none());

正在打印:

&Aacute; example link.

我的问题是,如何获取文字

Á example link.

使用Whitelistclean()方法?我想使用Whitelist,因为我可能需要使用Whitelist#addTags(String... tags)

任何信息都对我很有帮助。

感谢。

1 个答案:

答案 0 :(得分:1)

在当前版本(1.6.1)中不可能,jsoup print Á&Aacute;因为实体转义功能,现在没有“不要转义”模式(检查{{1} })。

您可以1.浏览这些HTML实体,2。通过添加带有空地图的新转义模式来扩展jsoup的源代码。