import java.util.regex.Pattern;
 
/**
 * 过滤标签字符串,返回纯文本
 *
 */
public class ChangePlainText {
 
    public static void main(String[] args) {
 
        String test="<b>hi</b></br><h1>hello~</h1><哈哈>";
 
        String b=ChangePlainText.Html2Text(test);
 
        System.out.println(b);
    }
 
    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;// 返回文本字符串
    }
 

}

最新文章

  1. theano broadcasting
  2. mysql使用基础 sql语句(一)
  3. 小白日记11:kali渗透测试之服务扫描-banner、dmitry、nmap特征库、操作系统识别、SNMP
  4. RHEL7下PXE+FTP+Kickstart无人值守安装操作系统
  5. get_category_recommend_goods的正确使用
  6. SyntaxError: (unicode error) &#39;unicodeescape&#39; codec can&#39;t decode bytes in position 2-3: truncated \UXXXXXXXX escape
  7. JAVA面向对象-----final关键字
  8. LeetCode之“树”:Path Sum &amp;&amp; Path Sum II
  9. b2OJ_1565_[NOI2009]植物大战僵尸_拓扑排序+最大权闭合子图
  10. ECMAScript课程
  11. Hystrix入门与分析(一):初识Hystrix
  12. Linux编程 1 (文件系统路径说明, 目录结构说明)
  13. Problem F Plug It In!
  14. CSS - !important声明强制优先
  15. iOS Swift 实现图片点击缩放回弹动画
  16. 在 CSS 中,width 和 height 指的是内容区域的宽度和高度
  17. 创建一个子进程---vfork
  18. emWin教程目录汇总
  19. perl chomp 函数的真正作用
  20. java正则表达式实战例子,持续更新,记下来后面就不用重新写了。。。

热门文章

  1. webstrom 里面使用github
  2. python从2.6.x升级到2.7.x
  3. 服务器Java环境配置
  4. 苹果receipt样例
  5. jsonpath for js
  6. hdu 1847(SG函数,巴什博弈)
  7. linux c下输入密码不回显
  8. 【hdoj_2100】Lovekey(大数+字符处理)
  9. Cookie/Session的认识
  10. EF 剥坑