2011-08-09 10 views
6

से HTML छवि टैग प्राप्त करें I Im दिए गए स्ट्रिंग से 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 ? 

मैं चाहता हूँ केवल http://xyz.com/par.jpg स्ट्रिंग

उत्तर

7

से कृपया संदर्भ के लिए this प्रश्न देखें। असल में यह उपयोग करने के लिए कहता है:

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

एक XMLPullParser यह बहुत आसानी से कर सकता है। हालांकि, अगर यह एक छोटी सी छोटी स्ट्रिंग है, तो यह अधिक हो सकता है।

 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

मैं jsoup का उपयोग करता हूं। यह उपयोग करने और हल्के वजन के लिए बहुत आसान है। कुछ संस्करण जावा 1.5 संगत नहीं थे लेकिन ऐसा लगता है कि उन्होंने इस मुद्दे को ठीक किया है।

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

सभी आयात jsoap की Frist:

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

तो आप इस का उपयोग करें कर सकते हैं:

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; 
} 
संबंधित मुद्दे