java 接收前台富文本_java 解析富文本处理 img 标签

很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题

1)怎样将富文本的图片的 src 获取出来?

2)后台上传的时候用的是相对路径,前端显示需要的是最对路径

我下面就记录一下解决这两个问题的方法

1):怎么将富文本的图片的  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;

}

即可获取到以下结果

2)后台上传的时候用的是相对路径,前端显示需要的是最对路径,下面来看看我们怎么动态去修改富文本的 img 标签的 src ,也很简单,也是一个工具即可

这里需要一个叫做 jsoup 的 jar, maven 项目的话,直接引进来就行了

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();

}

即可获取到以下结果

好了,以上就是这两个问题的解决方式

不喜勿喷!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值