用Jsoup实现html中img标签地址替换
来源:互联网 发布:如何安装java软件 编辑:程序博客网 时间:2024/04/29 21:35
做app的时候经常要用webview解析Html,如果是自己写的服务器那么富文本编辑框有可能选择像KindEditor这样的编辑器,在kindEditor添加图片虽然可以实现绝对路径插入,如果说:
<img alt="" src="http://58.192.23.75:8080/xiaoxiao2/uploads/artImage/image/20130711/20130711182603_176.png" />
但是这样直接用绝对路径很不合理,为什么?因为作为服务器,ip地址或者域名可能会有变动,如果用绝对路径的话,出现要变动ip的情况,那么原来服务器上的图片就都不能用,或者需要大量的修改,一个合理的服务器需要能灵活的适应,所以就应该使用下面的地址:
<img alt="" src="/xiaoxiao2/uploads/artImage/image/20130711/20130711182603_176.png" />
这样高潮就来了,在android的webview控件里面是显示不了这样的图片的,怎么办?
我的解决的方法就是在显示之前把img标签的src地址换成绝对地址,找了一下选择了大家很推崇的Jsoup,(下载请自行解决)
替换代码如下:
String newsBody="<img alt="" src="/xiaoxiao2/uploads/artImage/image/20130711/20130711182603_176.png" />";
public static String HTTPHOST="http://58.192.23.75:8080";
Document doc = Jsoup.parse(newsBody); Elements pngs = doc.select("img[src]"); for (Element element : pngs) { String imgUrl = element.attr("src"); if (imgUrl.trim().startsWith("/")) { imgUrl =HTTPHOST + imgUrl; element.attr("src", imgUrl); } } newsBody = doc.toString();
article_context.loadDataWithBaseURL(null, newsBody, "text/html", "utf-8", null);
根据jsoup指南里面有这样一段教程:
方法
可以使用属性设置方法 Element.attr(String key, String value)
, 和 Elements.attr(String key, String value)
.
假如你需要修改一个元素的 class
属性,可以使用 Element.addClass(String className)
和 Element.removeClass(String className)
方法。
Elements
提供了批量操作元素属性和class的方法,比如:要为div中的每一个a元素都添加一个 rel="nofollow"
可以使用如下方法:
doc.select("div.comments a").attr("rel", "nofollow");
说明
与 Element
中的其它方法一样, attr
方法也是返回当 Element
(或在使用选择器是返回 Elements
集合)。这样能够很方便使用方法连用的书写方式。比如:
doc.select("div.masthead").attr("title", "jsoup").addClass("round-box");
- 用Jsoup实现html中img标签地址替换
- 用Jsoup实现html中img标签地址替换
- 用jsoup实现html中img标签的替换
- Jsoup-Java解析Html类库,替换img标签style样式
- 用Jsoup实现html中标签替换
- ASP.NET正则替换html标签中img src/href
- html<img>标签中src=“图片路径”,怎么用变量替换路径
- 正则表达式提取HTML中IMG标签的SRC地址
- 利用Jsoup解析html,如何得到<img>标签的位置
- 将HTML里标签里的img src属性的相对地址替换成对应的绝对地址
- C#替换html代码中所有img标签的路径保留文件名称
- C#替换html代码中所有img标签的路径保留文件名称
- Jsoup API解析HTML中input标签
- C#正则表达式提取HTML中IMG标签的SRC地址
- 【正则表达式】C#正则表达式提取HTML中IMG标签的URL地址
- C#正则表达式提取HTML中IMG标签的SRC地址
- C#正则表达式提取HTML中IMG标签的SRC地址
- HTML中Img标签的技巧
- 动态加载APK原理分享
- (2)Linux的常用命令
- 记录偶的bug
- 鸡蛋的硬度问题
- Android 仿网易新闻 listView下拉刷新
- 用Jsoup实现html中img标签地址替换
- Device Tree Usage
- MFC 打印相关操作
- 剑指offer 面试题34 丑数
- 弹出新界面,在新界面执行方法后传参给调用界面,再执行调用界面的方法
- 【学了数据结构,就是不一样】对数组对象的答疑
- OJ【1197】 约瑟夫问题
- java.nio
- 关闭所有的Activity