weranda
@weranda

Как выделить изображение внутри ссылки регуляркой?

Приветстсвую
Что-то я туплю с регуляркой. Есть кусок кода:
<a href="URL">XXX</a>XXX<a href="URL">XXX</a>XXX<a href="URL"><img src="URL" alt=""></a><a href="URL">XXX</a>XXX.

Надо как-то выделить только тег (ссылку), внутри которого есть изображение. Должно найтись:
<a href="URL" target="_blank"><img src="URL" alt=""></a>

Но по составленному мной выражению ищется вся строка:
<a .*?>(<img.*?/?>)</a>
Подскажите как найти искомое.
  • Вопрос задан
  • 34 просмотра
Решения вопроса 1
orlov0562
@orlov0562
I'm cool!
Если я правильно понял, то ты ищешь опережающую проверку
~<a[^>]+>(?=<img)~

Пример на php
$text = '<a href="URL1">XXX</a>XXX<a href="URL2">XXX</a>XXX<a href="URL3"><img src="URL" alt=""></a><a href="URL">';
$regexp = '~<a[^>]+>(?=<img)~';
preg_match($regexp, $text, $regs);
echo htmlspecialchars($regs[0]);

выведет
<a href="URL3">
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы