用Jsoup实现html中标签替换

本文介绍了如何利用Jsoup库解析HTML文档并替换img标签的src属性,将相对路径转换为绝对路径,以确保图片在显示时能够正确加载。通过示例代码展示了Jsoup的使用方法,包括选择特定元素、修改属性等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jsoup用来解析和遍历一个HTML文档,并修改气相应的属性或值;详细了解见:

http://www.open-open.com/jsoup/



在做百度编辑器时,由于生产的HTML文件中img路径是相对路径,这样点击生成的HTML文件显示不了图片的,

<img alt="" src="/qk/uploads/newImage/image/20130711/20130711182603_176.png" />

我的解决的方法就是在显示之前把img标签的src地址换成绝对地址,找了一下选择了大家很推崇的Jsoup

String newsBody="<img alt="" src="/qk/uploads/newImage/image/20130711/20130711182603_176.png" /> ";


public static String HTTPHOST="http://192.168.0.78";


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


方法
可以使用属性设置方法  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");


注:kindEditor编辑器添加图片可以实现绝对路径插入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KunQian_smile

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值