Java supprime les balises html, les balises de script, les balises de retour chariot spatial, les balises de style, les balises de caractères spéciaux et d'autres outils

 Les outils de code sont les suivants:

package com.zjxf.utils;

import org.apache.commons.lang3.StringUtils;

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

/**
 * html标签工具类
 *
 * @author fhx
 * @date 2019/9/7 15:41
 */
public class HtmlTagUtil {
    /**
     * 定义script的正则表达式
     */
    private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>";
    /**
     * 定义style的正则表达式
     */
    private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>";
    /**
     * 定义HTML标签的正则表达式
     */
    private static final String regEx_html = "<[^>]+>";
    /**
     * 定义空格回车换行符
     */
    private static final String regEx_space = "\\s*|\t|\r|\n";

    /**
     * 定义一些特殊字符的正则表达式 如:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
     */
    private static final String regEx_special = "\\&[a-zA-Z]{1,10};";

    /**
     * 去除html标签
     *
     * @param htmlStr html内容
     * @return 删除Html标签
     */
    public static String delHTMLTag(String htmlStr) {
        return baseFun(htmlStr, regEx_html);
    }

    /**
     * 去除script标签
     *
     * @param htmlStr html内容
     * @return 处理后的内容
     */
    public static String delScriptTag(String htmlStr) {
        return baseFun(htmlStr, regEx_script);
    }

    /**
     * 去除空格回车标签
     *
     * @param htmlStr html内容
     * @return 处理后的内容
     */
    public static String delSpaceTag(String htmlStr) {
        return baseFun(htmlStr, regEx_space);
    }

    /**
     * 去除style标签
     *
     * @param htmlStr 标签内容
     * @return 处理后的内容
     */
    public static String delStyleTag(String htmlStr) {
        return baseFun(htmlStr, regEx_style);
    }

    /**
     * 去除&nbsp;等特殊字符标签
     *
     * @param htmlStr 标签内容
     * @return 处理后的内容
     */
    public static String delNbspTab(String htmlStr) {
        return baseFun(htmlStr, regEx_special);
    }

    /**
     * 基础方法
     *
     * @param htmlStr html内容
     * @param regex   正则表达式
     * @return 处理后的内容
     */
    private static String baseFun(String htmlStr, String regex) {
        if (StringUtils.isBlank(htmlStr)) return "";
        Pattern pStyle = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
        Matcher mStyle = pStyle.matcher(htmlStr);
        htmlStr = mStyle.replaceAll(StringUtils.EMPTY);// 空串
        return htmlStr.trim();
    }
}

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_38821574/article/details/113522814
conseillé
Classement