随着项目的深入开发,项目中势必会用到图文编辑的工具。可能每个人用的工具不尽相同,有的用eWebEditor,有的用UEditor,有的用kindeditor,等等;不管用哪一种,我们在需要修改或删除操作的时候,除了要删除文本内容外,还需要删除服务器图片。下面是本人在网上代码的基础上作的一些改进:
public boolean doDeleteImageAll(String content,String url){
String img="";
Pattern p_image;
Matcher m_image;
List pics = new ArrayList();
//String regEx_img = "]*?>"; //图片链接地址
String regEx_img ="(<img.*srcs*=s*(.*?)[^>]*?>)";//图片链接地址
p_image = Pattern.compile(regEx_img,Pattern.CASE_INSENSITIVE);
m_image = p_image.matcher(content);
while(m_image.find()){
img = img + "," + m_image.group();
Matcher m = Pattern.compile("src=\"?(.*?)(\"|>|\\s+)").matcher(img); //匹配src
//Matcher m = Pattern.compile("srcs*=s*\"?(.*?)(\"|>|s+)").matcher(img);
while(m.find()){
pics.add(m.group(1));
}
}
System.out.println("图片地址:"+pics);
for(int i=0;i<pics.size();i++){
String pic_path = "";
if(url.indexOf("www.hao123.com") >-1){//www.hao123.com代表你的服务器地址
String pic_path = "E:/xx/"+(String) pics.get(i);//这里xx是服务器图片地址,看你配置的图片存放位置
}
File file = new File(pic_path);
if (file.exists() && file.isFile()) {
file.delete();
}
}
return true;
}
现在只需将文本内容和服务器地址两参数传进去就可以了