当前位置: 代码迷 >> Java Web开发 >> kindEditor存到mysqL数据库中的是html代码,取出的时候有没有办法将html代码过滤掉,只留下内容部分,该怎么处理
  详细解决方案

kindEditor存到mysqL数据库中的是html代码,取出的时候有没有办法将html代码过滤掉,只留下内容部分,该怎么处理

热度:281   发布时间:2016-04-17 00:54:28.0
kindEditor存到mysqL数据库中的是html代码,取出的时候有没有办法将html代码过滤掉,只留下内容部分
求解啊,我要取到部分存进去的内容来做一个简略的介绍,然后取全部数据做为详细内容,但是取出来的时侯,去固定长度的字符串总是带着html标签之类的无关的代码。。。

------解决方案--------------------
网上找的一个类,没有测试过

Java code
public static String Html2Text(String inputString) {             String htmlStr = inputString; //含html标签的字符串                 String textStr ="";           java.util.regex.Pattern p_script;           java.util.regex.Matcher m_script;           java.util.regex.Pattern p_style;           java.util.regex.Matcher m_style;           java.util.regex.Pattern p_html;           java.util.regex.Matcher m_html;                  try {            String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; //定义script的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script> }            String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; //定义style的正则表达式{或<style[^>]*?>[\\s\\S]*?<\\/style> }               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;                     }catch(Exception e) {                    System.err.println("Html2Text: " + e.getMessage());           }                  return textStr;//返回文本字符串            }
  相关解决方案