Android Java получить HTML-тег изображения из строки - PullRequest
6 голосов
/ 09 августа 2011

Я пытаюсь получить URL тега 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 из строки

Ответы [ 4 ]

7 голосов
/ 09 августа 2011

Пожалуйста, см. этот вопрос для справки.В основном это говорит использовать:

String imgRegex = "<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>";
3 голосов
/ 09 августа 2011

Я использую jsoup .Это довольно простой в использовании и легкий.Некоторые версии не были совместимы с Java 1.5, но, похоже, они исправили проблему.

String html = str;
Document doc = Jsoup.parse(html);
Elements pngs = doc.select("img[src$=.png]"); // img with src ending .png
2 голосов
/ 05 ноября 2016

Frist of All Import jsoap:

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;
}
0 голосов
/ 09 августа 2011

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();
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...