JAVA通过正则匹配html里面body标签的内容,去掉body标签

 

 

复制代码
 /**
     *  获取html中body的内容 包含body标签
     * @param htmlStr  html代码
     * @return
     */
    public static String getBody(String htmlStr){


        String pattern = "<body[^>]*>([\\s\\S]*)<\\/body>";

        Pattern p_body = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
        Matcher m_body = p_body.matcher(htmlStr);
        if (m_body.find()){
            return m_body.group();
        }
        return htmlStr;
    }


    /**
     * 取到html中body里面的内容 不包含body标签
     * @param htmlStr
     * @return
     */
    public static String removeBody(String htmlStr){

        /**
         * 获取html代码中body标签里的内容
         */
        htmlStr=getBody(htmlStr);

        //body开头标签
        String bodyEx_start = "<body[^>]*>";

        //body结尾标签
        String bodyEx_end = "<\\/body>";

        Pattern p_script = Pattern.compile(bodyEx_start, Pattern.CASE_INSENSITIVE);
        Matcher m_script = p_script.matcher(htmlStr);
        htmlStr = m_script.replaceAll(""); // 过滤script标签

        Pattern p_style = Pattern.compile(bodyEx_end, Pattern.CASE_INSENSITIVE);
        Matcher m_style = p_style.matcher(htmlStr);
        htmlStr = m_style.replaceAll(""); // 过滤style标签



        return htmlStr;
    }
复制代码

 

 

 

 

如果要取得html代码中body里面的内容 不包含body标签

直接调用 removeBody


 

posted @   yvioo  阅读(865)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2019-04-28 JS获取页面复选框选中的值
2019-04-28 JS全选反选功能
点击右上角即可分享
微信分享提示