`
mywebcode
  • 浏览: 1000024 次
文章分类
社区版块
存档分类
最新评论

正则表达式去除html标签

 
阅读更多


/**
 * 删除Html标签
 * 
 * @param inputString
 * @return
 */
public static String htmlRemoveTag(String inputString) {
    if (inputString == null)
        return null;
    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 {
        //定义script的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script>
        String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; 
        //定义style的正则表达式{或<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;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return textStr;// 返回文本字符串
}


	public static void requestPost(String ipString) throws IOException{
	       /** 
         * 首先要和URL下的URLConnection对话。 URLConnection可以很容易的从URL得到。比如: // Using 
         * java.net.URL and //java.net.URLConnection 
         *  
         * 使用页面发送请求的正常流程:在页面http://www.faircanton.com/message/loginlytebox. 
         * asp中输入用户名和密码,然后按登录, 
         * 跳转到页面http://www.faircanton.com/message/check.asp进行验证 验证的的结果返回到另一个页面 
         *  
         * 使用java程序发送请求的流程:使用URLConnection向http://www.faircanton.com/message/ 
         * check.asp发送请求 并传递两个参数:用户名和密码 然后用程序获取验证结果 
         */  
        URL url = new URL("http://199604.com/ip/");  
        URLConnection connection = url.openConnection();
        /** 
         * 然后把连接设为输出模式。URLConnection通常作为输入来使用,比如下载一个Web页。 
         * 通过把URLConnection设为输出,你可以把数据向你个Web页传送。下面是如何做: 
         */  
        connection.setDoOutput(true);  
        /** 
         * 最后,为了得到OutputStream,简单起见,把它约束在Writer并且放入POST信息中,例如: ... 
         */  
        OutputStreamWriter out = new OutputStreamWriter(  
                connection.getOutputStream(), "8859_1");  
        out.write("ip=" + ipString + "&action=2"); // 向页面传递数据。post的关键所在!  
        // out.write("username=kevin&password=*********"); //向页面传递数据。post的关键所在!  
        // remember to clean up  
        out.flush();  
        out.close();  
        /** 
         * 这样就可以发送一个看起来象这样的POST: POST /jobsearch/jobsearch.cgi HTTP 1.0 ACCEPT: 
         * text/plain Content-type: application/x-www-form-urlencoded 
         * Content-length: 99 username=bob password=someword 
         */  
        // 一旦发送成功,用以下方法就可以得到服务器的回应:  
        String sCurrentLine;  
        String sTotalString;  
        sCurrentLine = "";  
        sTotalString = "";  
        InputStream l_urlStream;  
        l_urlStream = connection.getInputStream();//获取返回的Html内容
        // 传说中的三层包装阿!  

        BufferedReader l_reader = new BufferedReader(new InputStreamReader(  
                l_urlStream));
        System.out.println("第一次过滤");
        while ((sCurrentLine = l_reader.readLine()) != null) {  
            sTotalString+= sCurrentLine;
            
        }
        
          
        String regEx_script = "<script[^>]*?>.*?</script>";
        sTotalString = sTotalString.replaceAll(regEx_script, "");
        
        String regEx_style = "<style[^>]*?>.*?</style>"; 
        sTotalString = sTotalString.replaceAll(regEx_style, "");
        
        String html_regex = "<(.[^>]*)>";// /过滤标签的规则  
        Pattern p = Pattern.compile(html_regex);// 将规则封装成对象  
        
        BufferedReader htmlbufr = new BufferedReader(new StringReader(sTotalString));
        
        BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(  
                new FileOutputStream("E://IpHTML.txt")));  
        while ((sCurrentLine = htmlbufr.readLine()) != null) { 
        	 sCurrentLine = sCurrentLine.replaceAll(html_regex, "");  
            bufw.write(sCurrentLine);  
            bufw.newLine();// /换行  
            bufw.flush();// 刷新  
  
        }  
        bufw.close();   
        System.out.println("第一次过滤完毕,开始下一轮过滤");  
        
	}


分享到:
评论

相关推荐

    正则表达式清除html标签

    .net开发,用正则表达式清除字符串html标签

    winform 去除html标签的正则表达式

    利用正则表达式去除html标签,去除样式,只选择内容,

    利用正则表达式批处理含链接内容文档

    由于项目需求,自己需要将带有链接的标签去除,例如 &lt;a href="/zhaoyao/17-66.html"&gt;头晕,转换后的文档为头晕。...读取每一个筛选到的文件,利用正则表达式去除超链接符号。 3.将每一个处理过的文件重写回源文件。

    使用正则表达式去除所有html标签只保留文字

    主要介绍了使用正则表达式去除所有html标签只保留文字效果,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧

    Python使用正则表达式去除(过滤)HTML标签提取文字功能

    下面给大家介绍下Python使用正则表达式去除(过滤)HTML标签提取文字,具体代码如下所示: # -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_...

    经典JavaScript正则表达式实战

    正则表达式实战... 1 匹配结尾的数字... 2 统一空格个数... 3 判断字符串是不是由数字组成... 3 电话号码正则... 3 手机号码正则表达式... 4 使用正则表达式实现删除字符串中的空格:... 4 限制文本框只能输入数字和...

    正则表达式经典实例

    中文名: 正则表达式经典实例 原名: Regular Expression Cookbook 作者: (美)高瓦特斯(Goyvaerts,J.) (美)利维森(Levithan,S.)译者: 郭耀 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社书号: ...

    正则表达式经典实例.pdf

    中文名: 正则表达式经典实例 原名: Regular Expression Cookbook 作者: (美)高瓦特斯(Goyvaerts,J.) (美)利维森(Levithan,S.)译者: 郭耀 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社书号: 9787115228321发行...

    PHP正则表达式清除html标签 str_replace

    preg_replace 可以清除html标签 可以配合str_replace 一起使用

    Java使用正则表达式删除所有HTML标签的方法示例

    主要介绍了Java使用正则表达式删除所有HTML标签的方法,结合完整实例形式分析了java针对HTML页面元素script标签、style标签、html标签等的正则匹配相关操作技巧,需要的朋友可以参考下

    java 正则表达式

    匹配html标签的正则表达式:&lt;(.*)&gt;(.*)(.*)&gt;|&lt;(.*)\/&gt; 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim ...

    C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下

    ASP正则表达式清除HTML指定标签的方法

    主要介绍了ASP正则表达式清除HTML指定标签的方法,告诉大家如何精准的过滤掉某些特定的属性标签和参数,感兴趣的小伙伴们可以参考一下

    SQl去掉HTML标签函数

    SQl去掉HTML标签函数 彻底防止SQL注入

    Python正则获取、过滤或者替换HTML标签的方法

    本文实例介绍了Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法,具体内容如下 python正则表达式关键内容: python正则表达式转义符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或...

    C#过滤HTML标签源码,使用的正则表达式

    只有一个方法 传入要过滤的字符串 即可完成HTML标签的过滤操作 返回不带HTML标签的字符串 非常方便,且实用

    php和editplus正则表达式去除空白行

    去除字符串内部的空行: 复制代码 代码如下: $str = preg_replace(“/(\s... 您可能感兴趣的文章:php正则删除img标签的方法示例php正则删除html代码中class样式属性的方法PHP正则删除html代码中a标签并保留标签内容的方

    javascript删除非html中的所有空格 (正则)

    javascript正则表达式,删除所有非html标签里的空格。

    js获取富文本中的第一张图片(正则表达式)

    主要介绍了js获取富文本中的第一张图片url正则表达式及去除字符串里面的html标签的正则公式,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics