0
我有一段HTML的(不是完整的HTML文件)具有以下幾個實例:如何在php中使用正則表達式匹配兩個結束標記?
</div>
some text is here
</h3>
我想只匹配「一些文本是在這裏」,但我有麻煩用php正則表達式理解多行,換行符和空格。我得到的是:
preg_match('/<\/div>[\s\r\n\t]*(.*)[\s\n\r\t]*<\/h3>/', $string, $matches);
但這似乎並不奏效。我嘗試使用DOMDocument(),但它會拋出各種錯誤,可能是因爲這不是一個完整的HTML文檔。
任何想法??
使用HTML解析器。你說DOMDocument()是「拋出各種各樣的錯誤」,所以我建議你刪除這個問題併發佈一個新的DOMDocument()與錯誤的問題,讓我們來解決這個問題。與其幫助你使用錯誤的工具來完成這項工作,不如幫助你使用正確的工具。 – 2013-04-08 03:16:14
它不起作用?它似乎爲我工作得很好。你檢查過「$匹配[1]」嗎? – 2013-04-08 05:26:20
@AndyLester我可能會被誤認爲是錯誤的,但正如我在文章中所說的,這不是一個完整的HTML文檔,它甚至還有額外的數據,它不是HTML。如果我實際上可以使用DOMDoc,我會對看到你的示例代碼感興趣,但我已經花了很多時間,並且認爲我只是走簡單的路線。唉,ExplosionPills的答案完全符合我的需求。 – zoltar 2013-04-08 17:06:12