2011-08-09 38 views
6

Tôi đang cố gắng lấy url thẻ hình ảnh HTML từ chuỗi đã cho. Nên có một số biểu thức chính quy để có được nó. Nhưng không biết làm thế nào để làm điều đó. Có ai có thể giúp tôi trong việc này không.android java lấy thẻ hình ảnh html từ chuỗi

ví dụ:

I have string like this with <br> some HTML<b>tag</b> 
with <img src="http://xyz.com/par.jpg" align="left"/> image tags in it. 
how can get it ? 

Tôi muốn chỉ http://xyz.com/par.jpg từ chuỗi

Trả lời

7

Xin xem this câu hỏi để tham khảo. Về cơ bản nó nói để sử dụng:

String imgRegex = "<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>"; 
0

An XMLPullParser có thể làm điều này khá dễ dàng. Mặc dù, nếu nó là một chuỗi nhỏ nhỏ, nó có thể là quá mức cần thiết.

 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
    XmlPullParser xpp = factory.newPullParser(); 

    xpp.setInput(new StringReader ("<html>I have string like this with <br> some HTML<b>tag</b> with <img src=\"http://xyz.com/par.jpg\" align=\"left\"/> image tags in it. how can get it ?</html>")); 
    int eventType = xpp.getEventType(); 
    while (eventType != XmlPullParser.END_DOCUMENT) { 
     if(eventType == XmlPullParser.START_TAG && "img".equals(xpp.getName()) { 
      //found an image start tag, extract the attribute 'src' from here... 
     } 
     eventType = xpp.next(); 
    } 
3

Tôi sử dụng jsoup. Nó khá dễ sử dụng và nhẹ. Một số phiên bản không tương thích với Java 1.5 nhưng có vẻ như chúng đã khắc phục được sự cố.

String html = str; 
Document doc = Jsoup.parse(html); 
Elements pngs = doc.select("img[src$=.png]"); // img with src ending .png 
1

Frist mọi jsoap nhập:

compile group: 'org.jsoup', name: 'jsoup', version: '1.7.2' 

Sau đó, bạn có thể sử dụng này:

private ArrayList pullLinks(String html) { 
    ArrayList links = new ArrayList(); 
    Elements srcs = Jsoup.parse(html).select("[src]"); //get All tags containing "src" 
    for (int i = 0; i < srcs.size(); i++) { 
     links.add(srcs.get(i).attr("abs:src")); // get links of selected tags 
    } 
    return links; 
} 
Các vấn đề liên quan