# Проблема имен тегов при парсинге атрибутов через регулярки в PHP

Атрибут `src` может быть не только у картинок, но и у других тегов:

`<img src="1.png"> <script src="file.js"></script>`

Также в теге могут быть и другие атрибуты:

`<img src="1.png"> <img class="image" src="1.png"> <script src="file.js"></script>`

Чтобы не цеплять лишние теги, мы должны указать в регулярке имя тега. При этом также придется учесть наличие других атрибутов. Сделаем это:

`<?php preg_match_all('#<img[^>]+src\s*=\s*(["\'])(.+?)\1#su', $str, $matches, PREG_PATTERN_ORDER); ?>`

Проверим, что все работает:

`<?php var_dump($matches[2]); ?>`

Найдите содержимое атрибутов `href` всех ссылок:

`<a href="page1.html">link1</a> <a href='page2.html'>link2</a> <a class="link" href = "page3.html">link3</a> <link rel="stylesheet" href="styles.css">`
← →
↑