html替换全部标签工具类

warning: 这篇文章距离上次修改已过199天,其中的内容可能已经有所变动。
package com.jinw.utils.cms;

import org.apache.commons.lang3.StringEscapeUtils;
import org.jsoup.Jsoup;
import org.jsoup.safety.Safelist;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 转义和反转义工具类
 */
public class HtmlUtils {
    // 定义一些特殊字符的正则表达式 如:     
    private final static String REGEX_SPECIAL = "\\&[a-zA-Z]{1,10};";

    /**
     * 转义文本中的HTML字符为安全的字符
     *
     * @param text 被转义的文本
     * @return 转义后的文本
     */
    public static String escape(String text) {
        return StringEscapeUtils.escapeHtml4(text);
    }

    public static String[] escapeArr(String[] arr) {
        for (int i = 0; i < arr.length; i++) {
            arr[i] = escape(arr[i]);
        }
        return arr;
    }

    /**
     * 还原被转义的HTML特殊字符
     *
     * @param text 包含转义符的HTML内容
     * @return 转换后的字符串
     */
    public static String unescape(String text) {
        return StringEscapeUtils.unescapeHtml4(text);
    }

    /**
     * 清除所有HTML标签,但是不删除标签内的内容
     *
     * @param content 文本
     * @return 清除标签后的文本
     */
    public static String clean(String content) {
        String cleanedHtml = Jsoup.clean(content, Safelist.none());
        // 过滤特殊标签
        Pattern pattern = Pattern.compile(REGEX_SPECIAL);
        Matcher matcher = pattern.matcher(cleanedHtml);
        cleanedHtml = matcher.replaceAll("");
        return cleanedHtml;
    }
}
版权声明 ▶ 本网站名称:我的学习笔记
▶ 本文链接:https://ooolo.net/article/342.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!!

none
最后修改于:2023年10月19日 16:59

添加新评论

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png