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

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



    
        
        demo
        
    
    
    
        ![](http://upload-images.jianshu.io/upload_images/765812-0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        ![](http://upload-images.jianshu.io/upload_images/765812-0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        ![](http://upload-images.jianshu.io/upload_images/765812-0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
        ![](http://upload-images.jianshu.io/upload_images/765812-0c17fe5db8bfa3b9.JPG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    

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



    
        
        demo
        
    
    
    
        ![](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)
    

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

//匹配img标签的正则表达式
String regxpForImgTag = "]+/>";
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标签)