2010-10-29 7 views
4

Можно создать дубликат:
I'm looking for a regular expression to remove a given (x)HTML tag from a stringREGEX найти и заменить IMG элементы

У меня есть длинный HTML файл, и мне нужно, чтобы удалить все <img /> теги внутри него, и все <a><img /></a> якоря ,

Что я думаю о написании PHP-скрипта, который выполняет эту работу. Но каждый образ и ссылка имеют разные атрибуты числа, поэтому я не знаю, как я могу сделать это аккуратно. Любая помощь будет высоко оценена.

ответ

4

Спасибо за ответы, ребята, это окончательное решение, которое я искал.

$text = preg_replace("/<a[^>]+\><img[^>]+\><\/a>\n/i", "", $text); 

$text = preg_replace("/<img[^>]+\>/i", "", $text); 
+1

Легко построить допустимый HTML, который заставляет эти регулярные выражения ошибочно работать. – tchrist

+0

Хотя это не совсем легко, все же регулярные выражения полезны для использования на вашей собственной странице или что-то, что вы (или кто-то рядом с вами) контролируете. – fiatjaf

1

попробовать <img[^>]+/>

+0

Эта команда сняла IMG теги, оставив пару правых угловых скобок, которые не были проблемой для меня: 'Perl -pi«~»-e«s/] + />/г»веб-страницы .html' –

Смежные вопросы