Я пытаюсь проанализировать некоторый HTML с PHP как упражнение, выводя его как только текст, и я попал в ловушку. Я хотел бы удалить любые теги, которые скрыты с style="display: none;"
- учитывая, что тег может содержать другие атрибуты и свойства стиля.Regex для выборочной зачистки HTML
код у меня до сих пор это:
$page = preg_replace("#<([a-z]+).*?style=\".*?display:\s*none[^>]*>.*?</\1>#s","",$page);`
код он возвращался NULL
с PREG_BACKTRACK_LIMIT_ERROR
.
Я попытался это вместо:
$page = preg_replace("#<([a-z]+)[^>]*?style=\"[^\"]*?display:\s*none[^>]*>.*?</\1>#s","",$page);
Но теперь это просто не заменяет какие-либо метки.
Любая помощь будет высоко оценена. Благодаря!
Just. Не. http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2010-12-08 22:47:23
Возможный дубликат [Как разобрать и обработать HTML с PHP?] (http : //stackoverflow.com/questions/3577641/how-to-parse-and-process-html-with-php) – PeeHaa 2012-01-16 20:01:18