富文本编辑器传值去除html标签
2023.3.17
拿走不谢,你肯定会用到的^-^
(使用正则表达式)
public class DelHTMLTag {
/**
* 去除html代码中含有的标签
* @param htmlStr
* @return
*/
public static String delHtmlTags(String htmlStr) {
//定义script的正则表达式,去除js可以防止注入
String scriptRegex="<script[^>]*?>[\\s\\S]*?<\\/script>";
//定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码
String styleRegex="<style[^>]*?>[\\s\\S]*?<\\style>";
//定义HTML标签的正则表达式,去除标签,只提取文字内容
String htmlRegex="<[^>]+>";
//定义一些特殊字符的正则表达式如:
String regEx_w = "<w[^>]*?>[\\s\\S]*P<\\/w[^>]*?>";
//定义空格,回车,换行符,制表符
String spaceRegex = "\\s*|\t|\r|\n";
//定义所有w标签
String regEx_special = "\\&[ a-zA-Z]{1,10};";
htmlStr = htmlStr.replaceAll(regEx_w, "");
htmlStr = htmlStr.replaceAll(regEx_special, "");
// 过滤script标签
htmlStr = htmlStr.replaceAll(scriptRegex, "");
// 过滤style标签
htmlStr = htmlStr.replaceAll(styleRegex, "");
// 过滤html标签
htmlStr = htmlStr.replaceAll(htmlRegex, "");
// 过滤空格等
htmlStr = htmlStr.replaceAll(spaceRegex, "");
return htmlStr.trim(); // 返回文本字符串
}
/**
* 获取HTML代码里的内容
* @param htmlStr
* @return
*/
public static String getTextFromHtml(String htmlStr){
//去除html标签
htmlStr = delHtmlTags(htmlStr);
//去除空格" "
htmlStr = htmlStr.replaceAll(" ","");
return htmlStr;
}
}