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

本文介绍了在Java中如何处理富文本,包括提取img标签的src和将后台的相对路径转换为前端所需的绝对路径。通过正则表达式获取图片链接,并使用jsoup库动态修改img标签的src属性。
摘要由CSDN通过智能技术生成

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

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

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

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

1):怎么将富文本的图片的  src 获取出来?很简单,就一个工具即可

public static List getImgStr(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));

}

}

return list;

}

即可获取到以下结果

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

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

org.jsoup

jsoup

1.11.2

下面是工具类

public static String 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();

}

即可获取到以下结果

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

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

从文本中提取图片路径(java 解析富文本处理 img 标签)

很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题 怎样将富文本的图片的 src 获取出来? 方法一: 利用正则表达式: pub ...

wxParse解析富文本内容使点击图片可以选中并实现放大缩小

wxParse解析富文本内容不多说,之前写过步骤介绍,主要是在使用过程中发现解析的富文本内容里有图片时有的可以点击放大缩小,有的点击却报错,找不到imgUrls. 经过排查发现:循环解析的富文本内容正 ...

php读取富文本处理html标签问题

thinkphp的一项配置会将富文本编辑器的内容中的html标签进行转义处理 'DEFAULT_FILTER' => 'htmlspecialchars', // 默认参数过滤方法使用htmls ...

微信小程序&sol;支付宝小程序 WxParse解析富文本(html)代码

小程序本身并不太支持html代码,比如html的img.span.p这个时候改这么办呢?需要用到一个小插件WxParse来实现. 小程序高级交流群:336925436  微信小程序支持富文本编辑器代码 ...

selenium&plus;java解决富文本输入

方法一: Actions actions = new Actions(driver); actions.sendKeys(Keys.TAB).perform(); //鼠标通过tab要先移到富文本框中 ...

Selenium&plus;java - 关于富文本编辑器的处理

什么是富文本编辑器? 富文本编辑器,Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器.具体长啥样,如下图: 通过自动化操作富文本编辑器 模拟场景:在富文 ...

小程序里面使用wxParse解析富文本导致页面空白等

在部分安卓手机上会出现白屏的情况且有些ios手机上图文混排上,图片显示不出问题 解决:把插件里面的console.dir去掉即可(原因在于安卓手机无法解析console.dir) 有些图片解析出来下面 ...

过滤eWebeditor等富文本中html标签,获得纯文本信息

/// /// 过滤html标签 /// /// & ...

随机推荐

使用jQuery Uploadify在ASP&period;NET 上传附件

Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.Uploadify官方网址:http://www.uploadify.com/,在MVC中使用的方法可以参考 jQuer ...

jar包的MANIFEST&period;MF注意事项

1. 基本格式 属性名称:空格+属性值 2. 一行最多72个字符,换行继续必须以空格开头 3. 文件最后必须要有一个回车换行 4. Class-Path 当前路径是jar包所在目录,如果要引用当前目录 ...

Ubuntu上Docker安装Trouble Shooting

(我的环境是Mint7.1,相当于Ubuntu14.04) 1,首先,根据docker.com上的安装指导来安装docker,这里就不重复了,参考: https://docs.docker.com/i ...

lvm snapshot(lvm 快照)

lvm快照有多种实现方法,其中一种是COW(Copy-On-Write),不用停止服务或将逻辑卷设为只读就可以进行备份,当一个 snapshot创建的时候只是拷贝原始卷里的元数据,而不是物理上的数据, ...

Java查询网址

Java在线帮助文档: http://docs.oracle.com/javase/8/docs/technotes/guides/desc_jdk_structure.html Java小知识讲解: ...

CSS3圆角气泡框,评论对话框

CSS3圆角气泡框,评论对话框
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值