Perl RegExp удалить тег img, если параметр стиля содержимого

0

У меня вопрос Perl RegExp. Учитывая этот HTML-код:

<a href="#"><img src="..." alt="..." title="..."></a>
<a href="#"><img src="..." alt="..." style="display: none;" title="..."></a>
<a href="#"><img src="..." alt="..." title="..." style="display: none;"></a>
<a href="#"><img src="..." style="display: none;" alt="..." title="..."></a>
<a href="#"><img style="display: none;" src="..." alt="..." title="..."></a>

Как удалить все теги img со своим родителем a если img содержит эту строку?

style="display: none;"
Теги:

2 ответа

1
Лучший ответ
$html =~ s|<a\s+href[^>]*>\s*<img[^>]*style="display: none;"[^>]*>\s*</a>||g

Это проверка img тег внутри a теге. А также проверяет, находится ли данный атрибут style внутри img или нет.

1

Что-то вроде этого...:

if ($html =~ /(<a href="#"><img style="display:\s*none;".*?<\/a>)/g) {
    remove($1);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню