从指定文本中提取图片
来源:互联网 发布:数据保护线缠绕图解 编辑:程序博客网 时间:2024/05/19 17:09
1、代码:
package test;
public class GetImage {
//**
* @param args
*//*
public static void main(String[] args) {
String imgStr = "<img onfocus=/"a()/" SRC=/"http://zi.csdn.net/20090x60_3.jpg/" >";
//String imgStr = "<img onfocus='a()' SRC='http://zi.csdn.net/290x60_3.jpg' onclick='b()' onblur='()'>";
if(isImgStr(imgStr)){
System.out.println("IMG: " + img);
System.out.println("OK: " + getImgStr());
}
}
String img="";
public boolean isImgStr(String htmlStr){
java.util.regex.Pattern p_image;
java.util.regex.Matcher m_image;
boolean flag = false;
//图片链接地址,这种方式能得到图片地址,如果是本地的,就是不带http:开头的,也可以
String regEx_img = "<img(?:.*)src=(/"{1}|/'{1})([^//[^>]+[gif|jpg|jpeg|bmp|png]*)(/"{1}|/'{1})(?:.*)>";
p_image = java.util.regex.Pattern.compile(regEx_img,java.util.regex.Pattern.CASE_INSENSITIVE);
m_image = p_image.matcher(htmlStr);
while(m_image.find()){
flag = true;
img = img + "," + m_image.group();
}
return flag;
}
public String getImgStr(){
int start = ((img.indexOf("src")==-1) ? (img.indexOf("SRC")) : (img.indexOf("src")));
int isQuot = img.indexOf("/"", start);
img = img.substring(start);
//考虑图片地址用双引号、单引号问题
String imgs[] = (isQuot-start==4)?(img.split("/"", 3)):(img.split("'", 3));
return imgs[1];
}
}
2、总结:
很多时候我们需要从一段文本中提取出图片来单独处理,比如实现首页的图片轮换或者删除文章的时候需要对应的图片文件,以减少对空间的占用等,这段代码实现了从一段文本中提取出第一张图片的功能(多张的再修改一下),主要原理是采用正则表达式来找出图片,然后根据其中再提取出图片的真实地址
- 从指定文本中提取图片
- 从图片中提取文本
- Tesseract从图片中提取文本(CentOS+Java)
- 从 Android 程序中提取文本资源
- 从文本中提取所有的单词
- 从xml中提取所有的文本
- 从文本中提取特定信息
- JAVA从html中提取纯文本
- 如何使用免费PDF第三方插件从PDF文档中提取文本和图片
- 从指定的字符串中提取Email
- 从指定的字符串中提取Email
- asp文本编辑器/数据库中提取图片
- cut-从文本流中提取文本列
- 从html富文本中提取纯文本
- Java实现从Html文本中提取纯文本
- 从Office文档中提取图片
- 从数据库中提取图片地址
- Jfinal 实现从数据库中提取图片
- sql查询最后一条数据
- 概述反射和序列化(转)
- 比较好的开发网站
- linux qq
- web.xml 配置Filter
- 从指定文本中提取图片
- 存储过程分页代码
- Lcexe已退出代码为-1
- 不使用中间变量交换两个元素
- eclipse优化
- Django笔记-Cache
- Google搜索的技巧
- 图像处理中聚类分析算法---C均值算法实现
- 20091109最新版灰鸽子复活版晚上发布