java去掉富文本编辑器html标签

package com.incon.project.app_util.util.removeTag;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;

/**

  • @方法描述 去掉html元素

*/
@SuppressWarnings(“all”)
public class RemoveHtml {

private static boolean check_notEmpty_pcs(Object obj) {
	if(obj instanceof List){
		List list = (List)obj;
		return list != null && !list.isEmpty();
	}else if(obj instanceof Set){
		Set set = (Set)obj;
		return set != null && !set.isEmpty();
	}else if(obj instanceof Map){
		Map map = (Map)obj;
		return map != null && !map.isEmpty();
	}else if(obj instanceof String){
		return obj!=null&&!"".equals(obj)&&!"null".equals(obj)&&!"undefined".equals(obj);
	}else if(obj instanceof Integer){
		return obj!=null&&!"".equals(obj)&&!"null".equals(obj)&&!"undefined".equals(obj);
	}else{
		return false;
	}
}

public static String htmlRemoveTag(String inputString) {
	if (!check_notEmpty_pcs(inputString)) {
		return null;
	}
	String htmlStr = cleanXSS(inputString); // 含html标签的字符串
	String textStr = "";
	Pattern p_script;
	java.util.regex.Matcher m_script;
	Pattern p_style;
	java.util.regex.Matcher m_style;
	Pattern p_html;
	java.util.regex.Matcher m_html;
	try {
		// 定义script的正则表达式{或]*?>[\\s\\S]*?<\\/script>
		String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
		// 定义style的正则表达式{或]*?>[\\s\\S]*?<\\/style>
		String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>";
		String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式
		p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
		m_script = p_script.matcher(htmlStr);
		htmlStr = m_script.replaceAll(""); // 过滤script标签
		p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
		m_style = p_style.matcher(htmlStr);
		htmlStr = m_style.replaceAll(""); // 过滤style标签
		p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
		m_html = p_html.matcher(htmlStr);
		htmlStr = m_html.replaceAll(""); // 过滤html标签
		textStr = htmlStr;
		textStr = textStr.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "");
		textStr = textStr.replaceAll("[(/>)<]", "");
	} catch (Exception e) {
		e.printStackTrace();
	}
	textStr = cleanXSS(textStr);
	return textStr;// 返回文本字符串
}

private static String cleanXSS(String value) {
	value = value.replaceAll("<", "<").replaceAll(">", ">");
	value = value.replaceAll("(", "\\(").replaceAll(")", "\\)");
	value = value.replaceAll("'", "'");
	value = value.replaceAll(""", "\"");
	value = value.replaceAll("\"\"", "[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']");
	value = value.replace("\r\n", "").replace(" ", "");
	return value;
}

public static void main(String[] args) {
	String cc = "

\r\n" + "

\r\n" + "

走访慰问送温暖 贴心交流促成长

\r\n" + "

                                                      ——建筑工程技术系团总支深入学生寝室进行安全检查及慰问新生

\r\n" + "

      

\r\n" + "

    新学期伊始,为入了解新生入校住宿和生活情况,及时解决新生遇到的各种问题,帮助新生更快更好地融入大学生活,2019831日晚20点到2230分,建工系团总支书记吴士超及学生会干部到男寝进行安全检查及慰问新生。

\r\n" + "


\r\n" + "

\r\n" + "

首先,吴书记了解了寝室整体情况,询问新生的基本情况、来校后的适应情况,以及对学习和生活环境的感触等。此外,还仔细查看了宿舍的基础设施配备情况,嘱咐学生干部进一步做好设施完善工作。期间,吴书记表达了对新生的殷切希望,希望大家能够尽快转变角色,有计划地安排大学生活,提早制定职业生涯规划,充分利用大学的各种学习资源,提升整体能力和自身综合素质,尽快融入到大学生活中去。\r\n" + "

\r\n" + "

初秋送爽,情谊正浓。老师们的走访送暖之行激励和温暖着新生们的心,相信2019级建工系学子会怀揣着这份温暖,以乘风破浪会有时的豪情,书写“直挂云帆济沧海”的新篇章,经营好自己的大学生活,遇见更美好的自己。

\r\n" + "

 

\r\n" + "

\r\n" + "

                                                       (供稿人:纪晓薇)

\r\n" + "


\r\n" + "

\r\n" + "

 

\r\n" + "

 

\r\n" + "

 

\r\n" + "
\r\n" + "

\r\n" + ""; System.out.println(htmlRemoveTag(cc)); }

}

你可能感兴趣的:(java去掉富文本编辑器html标签)