很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题
怎样将富文本的图片的 src 获取出来?
方法一:
利用正则表达式:
public static ListgetImgStr(String htmlStr) {
List list = new ArrayList<>();
String img= "";
Pattern p_image;
Matcher m_image;//String regEx_img = "]*?>";//图片链接地址
String regEx_img = "]*?>";
p_image=Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
m_image=p_image.matcher(htmlStr);while(m_image.find()) {//得到数据
img =m_image.group();//匹配中的src数据
Matcher m = Pattern.compile("src\\s*=\\s*\"?(.*?)(\"|>|\\s+)").matcher(img);while(m.find()) {
list.add(m.group(1));
}
}returnlist;
}
即可获取到以下结果
方法二:
引入一个叫做 jsoup 的 jar, (下载地址:https://jsoup.org/download)
org.jsoup
jsoup
1.11.2
下面是工具类
public staticString documentBody (String newsBody) {
Element doc=Jsoup.parseBodyFragment(newsBody).body();
Elements pngs= doc.select("img[src]");
String httpHost= "http://192.168.0.100";for(Element element : pngs) {
String imgUrl= element.attr("src");if (imgUrl.trim().startsWith("/")) { //会去匹配我们富文本的图片的 src 的相对路径的首个字符,请注意一下
imgUrl =httpHost +imgUrl;
element.attr("src", imgUrl);
}
}return newsBody =doc.toString();
}
转载自:https://www.cnblogs.com/xjbBill/p/8439248.html