我試圖用PHP中的正則表達式匹配任何打開的HTML標籤,但input
標籤除外。這是我的模式。PHP正則表達式匹配除一些標籤之外的HTML標籤名稱
/<([a-z]+)([^>]*>)?/i
它匹配所有以下:
<input type="text">
<img src=">
<a href="">
<button type="button"></button>
<div id="some"></div>
<p></p>
我不想匹配input
。我可能在將來排除更多標籤,因爲我在標題中聲明瞭某些標籤。
What I've tried so far
[編輯]
按我的例子,我也想僅保留匹配的結果返回,如img
,a
,button
,div
,p
等標籤名稱
添加[否定斷言(http://www.regular-expressions.info /lookaround.html)。 – mario
Obligatory:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – PeeHaa
**不要使用正則表達式來解析HTML。使用合適的HTML解析模塊**您無法可靠地使用正則表達式解析HTML,並且您將面臨悲傷和挫折。只要HTML從你的期望改變,你的代碼就會被破壞。請參閱http://htmlparsing.com/php或[this SO thread](http://stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php)如何使用已經編寫,測試和調試的PHP模塊正確解析HTML的示例。 –