zoukankan      html  css  js  c++  java
  • Java 去除HTML标签转化成纯文本

    package com.ahgw.common.global;
    
    import java.util.regex.Pattern;
    /**
     * 截取HTML代码
     *
     * @author YangJunping
     * @date 2010-7-15
     */
    public class Html2Text {
        public static void main(String[] args) {
    //        StringBuffer htmlStr = new StringBuffer();
    //        htmlStr.append("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>")
    //                .append("<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'><head><title>aaa</title><mce:script type='text/javascript'></mce:script>")
    //                .append("<link href="static_files/help.css" mce_href="static_files/help.css" rel='stylesheet' type='text/css' media='all' />")
    //                .append("</head><body><ul><li>XXXX</li></ul></body></html>");
    
    //        System.out.println(Html2Text(htmlStr.toString()));
    
            String str = "了考虑卢卡斯打翻了卡萨丁上了课大风
    " +
                    "
    " +
                    "
    " +
                    "	<img src="/images/newsContent/3.jpg" alt="" />
    " +
                    "
    " +
                    "
    " +
                    "	卢卡斯大风了卡萨丁飞卢卡斯大风卢卡斯大风洛克斯";
            String t = Html2Text.Html2Text(str);
            System.out.println("t = " + t);
    
        }
        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;
    
            java.util.regex.Pattern p_html1;
            java.util.regex.Matcher m_html1;
    
            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标签的正则表达式    
                String regEx_html1 = "<[^>]+";
                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标签    
    
                p_html1 = Pattern.compile(regEx_html1, Pattern.CASE_INSENSITIVE);
                m_html1 = p_html1.matcher(htmlStr);
                htmlStr = m_html1.replaceAll(""); // 过滤html标签    
    
                textStr = htmlStr;
    
            } catch (Exception e) {
                System.err.println("Html2Text: " + e.getMessage());
            }
    
            return textStr;// 返回文本字符串
        }
    
    }

    文章参考:http://blog.csdn.net/zdtwyjp/article/details/5736252

  • 相关阅读:
    Node.js 事件驱动编程
    css常见布局
    The Perfect Solution To Convert Immutable Bitmap To A Mutable Bitmap
    Mac终端Terminal使用
    入门Mac快捷键详细分类整理,包括Eclipse和Android Studio中一些常用的快捷键
    Android自定义控件属性的使用
    Visual Studio的快捷键
    cmd中编译和运行java程序
    查看本机的IP、MAC地址和端口占用情况
    ASC2码
  • 原文地址:https://www.cnblogs.com/wuyou/p/3429950.html
Copyright © 2011-2022 走看看