在我们的应用中,时长会用到嵌套webview的情况,有时需要获取显示在webview上一些图片的地址,做一个大图的效果展示。以下是一个获取所有图片的方法,记录在此,一个是方便自己以后查看,另一个是给有需要的人一个帮助。
/**
* 获取html中的所有图片
*
* @param html
* @return
*/
public static String[] returnImageUrlsFromHtml(String html) {
List<String> imageSrcList = new ArrayList<String>();
String htmlCode = html;
Pattern p = Pattern.compile("<img\\b[^>]*\\bsrc\\b\\s*=\\s*('|\")?([^'\"\n\r\f>]+(\\.jpg|\\.bmp|\\.eps|\\.gif|\\.mif|\\.miff|\\.png|\\.tif|\\.tiff|\\.svg|\\.wmf|\\.jpe|\\.jpeg|\\.dib|\\.ico|\\.tga|\\.cut|\\.pic|\\b)\\b)[^>]*>", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(htmlCode);
String quote = null;
String src = null;
while (m.find()) {
quote = m.group(1);
src = (quote == null || quote.trim().length() == 0) ? m.group(2).split("//s+")[0] : m.group(2);
imageSrcList.add(src);
}
if (imageSrcList == null || imageSrcList.size() == 0) {
Log.e("imageSrcList", "未匹配到图片链接");
return null;
}
return imageSrcList.toArray(new String[imageSrcList.size()]);
}
有什么问题可以留言,我会一一改进。