2016-11-14 2 views
-3

У меня есть содержимое строки в андроиде, как:обнаружить все URLs в IMG тег в большой строке + андроид

xyz xyx xyz<br /><img style="max-width: 100%;" src="https://blablab.png" alt="Loading..." /></p>abc</p><img style="max-width: 100%;" src="https://blablab2.png" alt="Loading..." /><div>abc</div><img style="max-width: 100%;" src="https://blablab3.png" alt="Loading..." /> 

Здесь я должен получить значение атрибутов Src (URL файла изображения) всех img и замените теги img базовым значением 64. Как я могу это сделать, т.е. сначала определить значения всех атрибутов src, а затем заменить теги img на их базовое значение 64?

ответ

1

Если вы не Чак Норрис или Джон Скит, вам не следует использовать RegEx для соответствия HTML. Я бы предложил использовать Jsoup. Ниже приведен пример использования строки с вашего вопроса:

String html = "xyz xyx xyz<br /><img style=\"max-width: 100%;\" src=\"https://blablab.png\" alt=\"Loading...\" /></p>abc</p><img style=\"max-width: 100%;\" src=\"https://blablab2.png\" alt=\"Loading...\" /><div>abc</div><img style=\"max-width: 100%;\" src=\"https://blablab3.png\" alt=\"Loading...\" />"; 
Document document = Jsoup.parse(html); 
Elements imgs = document.select("img[src]"); 
for (Element img : imgs) { 
    img.attr("src", "http://placehold.it/350x150"); 
} 
String newHtml = document.html(); 
+0

Как я могу заменить тег img на его базовое значение 64? – clint

+0

Google "заменить тег jsoup сайта: stackoverflow.com" –

0

Вы можете использовать Matcher. На следующей странице приведены некоторые примеры: http://tutorials.jenkov.com/java-regex/matcher.html. Идея состоит в том, чтобы написать регулярное выражение, которое соответствует img -tag с атрибутом src, найти каждое совпадение, получить непостоянные части из регулярных выражений, а затем выполнить замену.

Смежные вопросы