2012-05-01 16 views
0

我想要一个HTML内容的字符串。我在这里显示HTML字符串的一部分:从android中的HTML标签获取子串

<div style="border: 1px solid #999999; margin: 0px 10px 5px 0px;"> 
<a href="http://www.youtube.com"> 
<img alt="" src="http://someImage.jpg"> 
</a> 
</div> 

我从SAX解析中得到这个字符串。现在我只需要图像路径:“http://someImage.jpg”作为字符串。

请有人帮助我。如何获得该字符串?

回答

3

我认为你需要使用正则表达式。在这里我发布一些代码。请检查一下。

String subjectString = "<a href=\"http://www.youtube.com\"><img alt=\"\" src=\"http://someImage.jpg\"></a>"; 

代码从图像标签获取HREF链接

Pattern titleFinder = Pattern.compile("<a[^>]*?href\\s*=\\s*((\'|\")(.*?)(\'|\"))[^>]*?(?!/)>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); 
Matcher regexMatcher = titleFinder.matcher(subjectString); 
while (regexMatcher.find()) { 
    Log.i("==== Link0",regexMatcher.group(1)); 
} 

代码从图像标签

Pattern titleFinder = Pattern.compile("<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>" , Pattern.DOTALL | Pattern.CASE_INSENSITIVE); 
Matcher regexMatcher = titleFinder.matcher(subjectString); 
while (regexMatcher.find()) 
{ 
    Log.i("==== Image Src",regexMatcher.group(1)); 
} 
+0

如何将这与我的代码一起使用? –

+0

@KrishnaSuthar请在subjectString中指定您的字符串值,然后检查结果。 –

+0

嗨Chirag,谢谢你的帮助。我正在获取URL。但是我的HTML字符串太大了。我可以在这里告诉你吗? –

0

尝试jsoup解析器获取图像路径。

Document doc=Jsoup.connect("http://www.yahoo.com").get(); 
Elements elements=doc.select("img"); 

for(Element e:elements) 
{ 
    System.out.println(e.attr("src")); 
} 

或者只是使用Jsoup.parse(html_text)来获取Document的实例。

Document doc=Jsoup.parse(html_string); 
...