【问题标题】:Jsoup Whitelist: Parsing non-english characterJsoup 白名单:解析非英文字符
【发布时间】:2012-03-03 06:03:32
【问题描述】:

我正在尝试使用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)

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

谢谢。

【问题讨论】:

    标签: java html parsing jsoup


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多