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

12
lutskboy
На сайте с 22.11.2013
Offline
173
228

Привет

есть ссылка

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

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

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

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

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


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

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

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

√ SEO продвижение https://akazansky.ru - экспертный аудит сайтов ( https://akazansky.ru/audit-sajtov ), внедрение эффективных решений цифрового маркетинга. Обучение автоматизации с помощью Zennoposter https://goo-gl.me/6Zypu
vashfreelancer
На сайте с 24.10.2023
Offline
28
#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://vashfreelancer.com
LEOnidUKG
На сайте с 25.11.2006
Offline
1727
#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
104
#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
289
#9
А я не стал бы напрягать извилины, ибо неинтересно, а просто сделал бы всё в 2 этапа: сначала вытянул бы тег <a>, в котором есть строка  id="download", а потом вытянул бы из него href.
Мой форум - https://webinfo.guru –Там я всегда на связи
lutskboy
На сайте с 22.11.2013
Offline
173
#10
jkm #:
Чтобы не две регулярки, а одной можно с помощью (?=...) заглянуть вперёд.

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


Ещё вариант.

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

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

12

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