我试图用PHP解析一些HTML作为练习,将它作为文本输出,并且我遇到了一个障碍。我想删除所有使用style="display: none;"
隐藏的标签 - 请注意标签可能包含其他属性和样式属性。正则表达式用于选择性剥离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);
但现在它只是不更换任何标签。
任何帮助将不胜感激。谢谢!
刚。别。的http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2010-12-08 22:47:23
可能重复【如何分析和处理PHP程序HTML?](HTTP ://stackoverflow.com/questions/3577641/how-to-parse-and-process-html-with-php) – PeeHaa 2012-01-16 20:01:18