使用JSoup library有一种方法可以只清理一些字符。例如,我希望
替换为空格,"
替换为实际报价,但我不希望任何<br>
,<p>
等等删除或替换。我不想像以下那样提取所有的HTML:
Jsoup.parse(html).text()
相反,我想要做的是为它提供一个列表,可能是一个数组,我希望对其进行解析和清理,例如"
等等。
答案 0 :(得分:0)
Jsoup确实提供了cleaning methods
。但是,它们只能删除元素或属性。
相反,您可以浏览元素文本并在此处进行替换。
试试这个:
public static void formatDocument(Document doc, String[] encodings, String[] replacements) {
// FIXME: Check that encodings and replacements have same size...
Elements allElements = doc.select("*");
int encodingsCount = encodings.length;
for(Element anElement : allElements) {
String textElement = anElement.ownText();
for(int i=0; i<encodingsCount; i++) {
textElement = textElement.replace(encodings[i], replacements[i]);
}
anElement.text(textElemement);
}
}