黑马程序员技术交流社区

标题: 【已解决】求助 将一个html文件内容写入txt文件怎么去掉htm... [打印本页]

作者: 孟浩然    时间: 2012-6-4 17:21
标题: 【已解决】求助 将一个html文件内容写入txt文件怎么去掉htm...
本帖最后由 孟浩然 于 2012-6-5 12:35 编辑

我有一个html文件,里面装的是一篇日志,我想把它里面的内容保存起来,只需要title标签和body标签里的内容,我不知道怎么判断,具体是在读取时判断还是在写入的时候判断呢,我感觉这两种方法都可以,希望高手提醒一下。
作者: 李春阳    时间: 2012-6-4 17:28
可以使用正则表达式删除HTML标签。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class HTMLSpirit{
    public static String delHTMLTag(String htmlStr){
        String regEx_script="<script[^>]*?>[\\s\\S]*?<\\/script>"; //定义script的正则表达式
        String regEx_style="<style[^>]*?>[\\s\\S]*?<\\/style>"; //定义style的正则表达式
        String regEx_html="<[^>]+>"; //定义HTML标签的正则表达式
         
        Pattern p_script=Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);
        Matcher m_script=p_script.matcher(htmlStr);
        htmlStr=m_script.replaceAll(""); //过滤script标签
         
        Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);
        Matcher m_style=p_style.matcher(htmlStr);
        htmlStr=m_style.replaceAll(""); //过滤style标签
         
        Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);
        Matcher m_html=p_html.matcher(htmlStr);
        htmlStr=m_html.replaceAll(""); //过滤html标签

        return htmlStr.trim(); //返回文本字符串
    }
}

作者: 孟浩然    时间: 2012-6-4 17:45
李春阳 发表于 2012-6-4 17:28
可以使用正则表达式删除HTML标签。

import java.util.regex.Matcher;

在JDK API里找到了,大致了解了一下,这些是不是在javascript里使用的更多,还有那个为什么还要定义Style的正则表达式,它是过滤什么的?
作者: 刘蕴学    时间: 2012-6-4 18:56
孟浩然 发表于 2012-6-4 17:45
在JDK API里找到了,大致了解了一下,这些是不是在javascript里使用的更多,还有那个为什么还要定义Style ...

楼上名字霸道,样式标签也是html语言的一部分,可以内嵌在标签内,也可以定义成标签




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2