java去除HTML标签,去除class=MsoNormal
/**
* 去除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 spaceRegex = "\\s*|\t|\r|\n";
// 过滤script标签
htmlStr = htmlStr.replaceAll(scriptRegex, "");
// 过滤style标签
htmlStr = htmlStr.replaceAll(styleRegex, "");
// 过滤html标签
htmlStr = htmlStr.replaceAll(htmlRegex, "");
// 过滤空格等
htmlStr = htmlStr.replaceAll(spaceRegex, "");
return htmlStr.trim(); // 返回文本字符串
}
java实现HTML标签转义和反转义(StringEscapeUtils)
反转义:数据库中存储的转义后的文本有时需要反转至页面。
例如:字符串: "<p>我的<br/>评论</p>"
反转义后为"<p>我的<br/>评论</p>"
String HTML = "<p>指示"
String ReHTML = StringEscapeUtils.unescapeHtml(HTML);
HTML = "<p>指示"
举例:用于Excel导出内容
数据库存值:
String audit_info = "</span><span lang="EN-US"><o:p></o:p></span></p><p class="MsoNormal" align="left"><br></p><p>
</p><p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>指导意见:"
String aduitcontent = "";
if (!"".equals(audit_info) ){
aduitcontent = ExcelUtil.delHtmlTags(StringEscapeUtils.unescapeHtml(audit_info));
} //ExcelUtil 自己写的工具类
参考文献:https://www.cnblogs.com/wenhainan/p/7411422.html