我正在尝试使用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());
正在打印:
Á example link.
我的问题是,如何获取文字
Á example link.
使用Whitelist
和clean()
方法?我想使用Whitelist
,因为我可能需要使用Whitelist#addTags(String... tags)
。
任何信息都对我很有帮助。
感谢。
答案 0 :(得分:1)
在当前版本(1.6.1)中不可能,jsoup print Á
为Á
因为实体转义功能,现在没有“不要转义”模式(检查{{1} })。
您可以1.浏览这些HTML实体,2。通过添加带有空地图的新转义模式来扩展jsoup的源代码。