html替换全部标签工具类 Published on Oct 19, 2023 in 随笔 with 0 comment ```java 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; } } ``` 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。