我正在尝试学习如何使用 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);
}
}
但它会删除所有标签。输出是:
Text 1234 WOW Text 1234 Text 1234
我做错了什么?
提前谢谢你。
最佳答案
你写错了 tags
,因为 asd.addTags("<p>", "</p>");
非常重因为你有两次p
和 <,>,/
没用
正如文档所说:
asd.addTags("p");
asd.removeTags("body");
有关白名单标签/属性/协议(protocol)的更多详细信息:Jsoup whitelist
关于java - Jsoup 清理我的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45304143/