Подскажите регулярное выражение

12
lutskboy
На сайте с 22.11.2013
Offline
197
343

Привет

есть ссылка

<a id="download" href="https://сайт.mp4">Click here to download</a> или

<a href="https://сайт.mp4"  id="download" >Click here to download</a>

как регуляркой как ссылку достать у которой   id="download" ?

LEOnidUKG
На сайте с 25.11.2006
Offline
1787
#1
Если делается PHP код, то как по мне быстрее foreach сделать с двумя проверками и всё, чем сидеть их выдумывать.
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
lutskboy
На сайте с 22.11.2013
Offline
197
#2
LEOnidUKG #:
Если делается PHP код, то как по мне быстрее foreach сделать с двумя проверками и всё, чем сидеть их выдумывать.

ну хочется одной. часто просто такое попадает

D
На сайте с 28.06.2008
Offline
1115
#3
lutskboy #:

ну хочется одной. часто просто такое попадает

~<a(.*)(id="(.*)")(.*)</a>~gmU


Антоний Казанский
На сайте с 12.04.2007
Offline
831
#4
Dram #:
~<a(.*)(id="(.*)")(.*)</a>~gmU

Так здесь любое значение для id=" "

ТС нужно конкретное значение -  download.  

https://akazansky.ru - продуктовое SEO продвижение, аудиты, комплексное сопровождение для бизнеса • Продвижение от 20 тыс. / месяц • Почасовая нагрузка - 1200 рублей / час • Прозрачная пошаговая отчётность, долевые оплаты, гарантии.
vashfreelancer
На сайте с 24.10.2023
Offline
38
#5

<a[^>]*\s+id="download"[^>]*\s+href="([^"]+)".*?<\/a>|<a[^>]*\s+href="([^"]+)"[^>]*\s+id="download"[^>]*>.*?<\/a>

не знаю че у меня картинки не грузятся..
https://i.imgur.com/hZ7DPsM.png
https://i.imgur.com/GM5QFAp.png

Защита сайта от ботов - накрутки ПФ, роботность, DDoS, Cloudflare ДДос - https://kwork.ru/user/vashfreelancer
LEOnidUKG
На сайте с 25.11.2006
Offline
1787
#6
vashfreelancer #:

<a[^>]*\s+id="download"[^>]*\s+href="([^"]+)".*?<\/a>|<a[^>]*\s+href="([^"]+)"[^>]*\s+id="download"[^>]*>.*?<\/a>

не знаю че у меня картинки не грузятся..
https://i.imgur.com/hZ7DPsM.png
https://i.imgur.com/GM5QFAp.png

Ну это две регулярки по факту :)

J
На сайте с 20.02.2014
Offline
120
jkm
#7
Чтобы не две регулярки, а одной можно с помощью (?=...) заглянуть вперёд.
<a(?=[^>]*\sid="download")(?=[^>]*\shref="([^"]*)")

https://regex101.com/r/hXMzLh/1


Ещё вариант.

<a(?:\shref="([^"]*)"|\sid="download"()|[^>])++\2
https://regex101.com/r/hXMzLh/2
C
На сайте с 22.08.2012
Offline
124
#8
lutskboy :

Привет

есть ссылка

<a id="download" href="https://сайт.mp4">Click here to download</a> или

<a href="https://сайт.mp4"  id="download" >Click here to download</a>

как регуляркой как ссылку достать у которой   id="download" ?

Если очень хочется наступить на грабли, то
https://regex101.com/r/znDnRq/1
а, вообще, здесь ссылки надо через DOMDocument / getElementById доставать

regex101: build, test, and debug regex
regex101: build, test, and debug regex
  • Firas Dib
  • regex101.com
Add Regex to the community pattern library Please remember this entry will be public in the community library. This is not your personal regex library! To save, access and manage your personal entries, please go to the account page instead.
W1
На сайте с 22.01.2021
Offline
306
#9
А я не стал бы напрягать извилины, ибо неинтересно, а просто сделал бы всё в 2 этапа: сначала вытянул бы тег <a>, в котором есть строка  id="download", а потом вытянул бы из него href.
lutskboy
На сайте с 22.11.2013
Offline
197
#10
jkm #:
Чтобы не две регулярки, а одной можно с помощью (?=...) заглянуть вперёд.

https://regex101.com/r/hXMzLh/1


Ещё вариант.

https://regex101.com/r/hXMzLh/2

спасибо. то что нужно. этот человек профи по регуляркам. мне уже помогал

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий