用Jsoup實現html中標籤替換

來源:互聯網
上載者:User
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編輯器添加圖片可以實現絕對路徑插入

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.