Jsoup清理我的html

时间:2017-07-25 13:00:00

标签: java html jsoup

我正在尝试学习如何使用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

我做错了什么?

提前谢谢。

1 个答案:

答案 0 :(得分:3)

您在撰写tags时犯了一个错误,因为asd.addTags("<p>", "</p>");非常,因为您有两次p<,>,/无用< / p>

正如文档所说:

asd.addTags("p");
asd.removeTags("body");

有关WhiteList的标签/属性/协议的详细信息:Jsoup whitelist