我正在尝试学习如何使用Jsoup清理HTML代码。
我想从此示例中删除<body>
代码,但必须保留<p>
代码:
public class prb {
public static void main(String[] args) throws Exception {
String i = "<p>Text 1234 <body>WOW</body> Text 1234</p><p>Text 1234</p>";
System.out.println(getStringWithoutHtmlTags(i));
}
public static String getStringWithoutHtmlTags(String text) {
Whitelist asd = new Whitelist();
asd.addTags("<p>", "</p>");
asd.removeTags("<body>, </body>");
return Jsoup.clean(text, asd);
}
}
但它删除了所有标签。输出是:
文字1234 WOW Text 1234 Text 1234
我做错了什么?
提前谢谢。
答案 0 :(得分:3)
您在撰写tags
时犯了一个错误,因为asd.addTags("<p>", "</p>");
非常重,因为您有两次p
而<,>,/
无用< / p>
正如文档所说:
asd.addTags("p");
asd.removeTags("body");
有关WhiteList的标签/属性/协议的详细信息:Jsoup whitelist