【问题标题】:jsoup clean html entitiesjsoup 清理 html 实体
【发布时间】:2014-01-28 20:34:46
【问题描述】:

我需要一些帮助来使用 jsoup 清理用户输入,我想删除所有已知的 HTML 标记,但如果没有真正的 HTML 标记的一部分,则让 <>

Jsoup.clean("<b>test</b> te<st <test >test", Whitelist.none())

当前输出是 test tetest

我想要: test te<st <test >test

感谢您的帮助。

【问题讨论】:

  • 这看起来与 scala 无关

标签: java html parsing jsoup


【解决方案1】:

Jsoup 不提供这种功能。检查下面的代码。

import java.util.ArrayList;
import java.util.List;


public class Main {

    public static String removeTags(List<String> tags, String source) { 

        if(tags == null || tags.size() == 0) return source;

        StringBuilder strb = new StringBuilder();

        for(String tag : tags) {
            strb.append(String.format("</?%s.*?>|", tag));
        }

        return source.replaceAll(strb.substring(0, strb.length() - 1), "");

        //strb example : "</?span.*?>|</?em.*?>"
    }

    public static void main(String[] args) {
        try {
            String str = "<b>testj</b> te<st <test >test";
            List<String> tags = new ArrayList<String>();
            tags.add("b");
            System.out.println(removeTags(tags, str));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

【讨论】:

    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多