2012-03-03 15 views
4

HTMLテキストを消去し、Jsoupを使用してHTMLテキストを抽出しようとしています。 HTMLに英語以外の文字が含まれている可能性があります。Jsoupホワイトリスト:非英語の文字を解析する

例えばHTMLテキストは次のとおりです。今、私はJsoup#parse(String html)使用する場合

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

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

それは印刷です:

Á example link. 

そして私はJsoup#clean(String bodyHtml, Whitelist whitelist)を使用してテキストをきれい場合:

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

それが印刷されています

&Aacute; example link. 

私の質問は、どのように私は、テキストWhitelistclean()方法を使用して

Á example link. 

を得ることができていますか?私はWhitelist#addTags(String... tags)を使う必要があるかもしれないので、Whitelistを使いたいです。

すべての情報は私にとって非常に役立ちます。

ありがとうございました。エンティティが機能を逃れるため不可

答えて

1

現在のバージョン(1.6.1)で、jsoupない「エスケープしていない」モードでは、(Entities.EscapeModeを確認してください)今は存在しない、&Aacute;としてÁを印刷します。

これらのHTMLエンティティをエスケープできます。2.空のマップで新しいエスケープモードを追加してjsoupのソースコードを拡張します。

関連する問題