2011-07-18 34 views
5

在某些HTML清理的情況下,我想保留標記之間的文本(這是Jsoup的默認行爲),並且在某些情況下,我想刪除文本以及HTML標籤。有人可以拋出一些關於如何使用Jsoup刪除HTML標籤之間的文本的說明嗎?使用JSoup刪除HTML標記之間的文字

+4

6個問題並沒有被接受。你不明白這裏給你的幫助嗎? –

回答

10

Cleaner將始終刪除標籤並保留文本。如果您需要刪除元素(即標記和文本/嵌套元素),則可以預解析HTML,使用remove()empty()刪除元素,然後通過清理器運行結果。

例如:

String html = "Clean <div>Text dropped</div>"; 
Document doc = Jsoup.parse(html); 
doc.select("div").remove(); 
// if not removed, the cleaner will drop the <div> but leave the inner text 
String clean = Jsoup.clean(doc.body().html(), Whitelist.basic()); 
0
1.  String html = "<!DOCTYPE html><html><head><title></title></head><body><p>hello there</p></body></html>"; 
2.  Document d = Jsoup.parse(html); 
3.  System.out.println(d); 
4.  System.out.println("************************************************"); 
5.  d.getElementsByTag("p").remove(); 
6.  System.out.println(d); 

,而你得到的元素,你得到一些麻煩,你可以做文檔d對象這個動作。這將工作準確。