Как извлечь URL из строки с помощью Regex / jQuery - PullRequest
0 голосов
/ 21 января 2019

У меня есть несколько якорных элементов, подобных следующему, и мне нужно извлечь полный URL-адрес содержащегося изображения в цикле for.

<a href="https://genesis28.test/?attachment_id=1524"><img src="https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288-1024x683.jpg" alt="" data-id="1524" data-link="https://genesis28.test/?attachment_id=1524" class="wp-image-1524" srcset="https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288-1024x683.jpg 1024w, https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288-300x200.jpg 300w, https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288-768x512.jpg 768w, https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288-600x400.jpg 600w, https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288.jpg 1600w" sizes="(max-width: 1024px) 100vw, 1024px"></a>

В приведенном выше примере я хочу получить https://genesis28.test/wp-content/uploads/2019/01/alesia-kazantceva-283288.jpg. Другими словами, URL-адрес слева от 1600w.

Может ли кто-нибудь помочь с получением URL-адресов?

1 Ответ

0 голосов
/ 22 января 2019

В jQuery:

var imgUrls = $("img").attr('src');

даст вам массив всех URL-адресов для тегов изображений.

Вы не можете использовать Regex для надежного анализа HTML, потому что HTML - это нерегулярный язык, а регулярные выражения предназначены для синтаксического анализа (как вы уже догадались) регулярных языков. См. Этот печально известный ответ, описывающий переполнение стека, для более подробного объяснения: RegEx соответствует открытым тегам, за исключением автономных тегов XHTML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...