需求:在通知管理中插入图片,使用富文本编辑器插入的图片路径没有带ip地址,前端访问不到图片,“<img src=“/ueditor/images/1541605869485268994.jpg”,需要在"<img src="后面加上ip地址和端口,解决方法如下:
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder("<p>水电费水电费是<img src=\"/ueditor/images/1541605869485268994.jpg\" title=\"1541605869485268994.jpg\" alt=\"1541605869485268994.jpg\" width=\"539\" height=\"158\" style=\"width: 539px; height: 158px;\"/></p><p>工会见过见过见过<img src=\"/ueditor/images/1541612282467033089.jpg\" title=\"1541612282467033089.jpg\" alt=\"1541612282467033089.jpg\" width=\"464\" height=\"448\" style=\"width: 464px; height: 448px;\"/></p><p><img src=\"/ueditor/images/1541616981207392257.jpg\" title=\"1541616981207392257.jpg\" alt=\"1541616981207392257.jpg\" width=\"100\" height=\"168\" style=\"width: 100px; height: 168px;\"/></p><p><img src=\"/ueditor/images/1541617250091638785.jpg\" title=\"1541617250091638785.jpg\" alt=\"1541617250091638785.jpg\"/></p><p><br/></p>");
String key = "<img src=\"";
String ip = "http://24.47.23.8:8000";
String s = replaceIp(stringBuilder, key, ip);
}
//转换方法
public static String replaceIp(StringBuilder s,String key,String rear){
int index = s.indexOf(key);
while (index !=-1){
String substring = s.substring(index+key.length(), index + key.length() + rear.length());
//加上这一层判断,在修改时也可以直接调用转换方法
//如果截取到的内容和要替换的不一致,加上ip
if(!substring.equals(rear)) {
s.insert(index+key.length(),rear);
index = s.indexOf(key,index+key.length()+rear.length()-1);
}else{
index = s.indexOf(key,index+key.length()+rear.length()-1);
}
}
return s.toString();
}