问题描述
现在有HTML标签的字符串,里面都是些<P>,<img>,<b>,<div>之类的标签,还有文字,现在我要把<img>标签的找出来,然后把src里面是相对路径的加上ip地址如<img src='/xxx/xxx/yy.jpg'/>改成<img src='http://122.11.11.11:8080/xxx/xxx/yy.jpg'/>如果已经是<img src='http://12.2.2.3:89/xxx/xxx/yy.jpg'/>就不改大家谁有好一点的方法,谢谢了,我这个是在ANDROID平台上面的版本是2.2以上
解决方案
建议你使用一个第三方类库:JSOUP,这个类库可以使用getElementById 和getElementsByTag 与Javascript类似的方法,同时还支持select方法,可以像jquery一样的通过选择器去获取元素Document doc = Jsoup.connect(url).get();Elements imgs = content.getElementsByTag("img");Iterator<Element> it = links.listIterator();while(it.hasNext()){ Element e = it.next(); if(e.attr('src').indexOf("http://")<0){ .... }}http://www.open-open.com/jsoup/
解决方案二:
1、获取所有标签以img开头的,形成数组;2、遍历数组,每次获取对应的src;3、取得对应的src的值判断是否以http://开头,是的话不作处理,否则在原来的src上添加http://+Ip。具体的方法,参考js,字符串操作。
解决方案三:
Android没做过,不过可以考虑使用正则表达式来处理,正则表达式的字符串处理功能还是很强大的。