美文网首页
Java如何过滤html代码中的img标签

Java如何过滤html代码中的img标签

作者: lyn0130 | 来源:发表于2015-12-02 20:51 被阅读3446次

    在做项目的过程中,需要将一段html代码中的img标签中的src属性值批量替换成其他对应的值。
    如下一段代码

    <!DOCTYPE html>
    <html>
        <head>
            <meta charse="utf-8">
            <title>demo</title>
            <style>
                img{
                    width: 200px;
                }
            </style>
        </head>
        
        <body>
            ![](https://img.haomeiwen.com/i765812/0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
            ![](https://img.haomeiwen.com/i765812/0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
            ![](https://img.haomeiwen.com/i765812/0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
            ![](https://img.haomeiwen.com/i765812/0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        </body>
    </html>
    

    经过处理需要变成如下一段html片段

    <!DOCTYPE html>
    <html>
        <head>
            <meta charse="utf-8">
            <title>demo</title>
            <style>
                img{
                    width: 200px;
                }
            </style>
        </head>
        
        <body>
            ![](http://dogwhere.b0.upaiyun.com/topic/3b473ccb822f4354823c07a8addf18667.JPG)
            ![](http://dogwhere.b0.upaiyun.com/topic/3b473ccb822f4354823c07a8addf18668.JPG)
            ![](http://dogwhere.b0.upaiyun.com/topic/3b473ccb822f4354823c07a8addf18669.JPG)
            ![](http://dogwhere.b0.upaiyun.com/topic/3b473ccb822f4354823c07a8addf18670.JPG)
        </body>
    </html>
    

    解决这个问题的关键就是一个正则表达式,如下是处理的完整代码

    //匹配img标签的正则表达式
    String regxpForImgTag = "<img\\s[^>]+/>";
    Pattern pattern = Pattern.compile(regxpForImgTag);
    Matcher matcher = pattern.matcher(result);
    while (matcher.find()) {
        String temp = matcher.group();
        String tempUrl = temp.substring(temp.indexOf("src=") + 5);
        tempUrl =tempUrl.substring(0, tempUrl.indexOf("\""));
        String urlResult = "another url";   
        result = result.replace(temp, urlResult);
    }
    

    相关文章

      网友评论

          本文标题:Java如何过滤html代码中的img标签

          本文链接:https://www.haomeiwen.com/subject/jsfshttx.html