0
好的,所以這是我的問題。我試圖在PHP中編寫一個腳本來解析我們的工作訂單系統並返回一組票據,但我遇到了一些試圖解析票單列表的問題。我一直試圖儘可能多地使用正則表達式來強迫自己學習語法,我可以認爲這應該起作用,但可惜,這不是,所以我來這裏尋求你的集體智慧。正則表達式來提取匹配之間的文本塊
<tr>
...
...
...
...
</tr>
我想在這裏檢索標記之間的塊,以便我可以再次解析特定信息。塊大小非常規則,但標籤之間的線條可能會因票據中的描述長度而異。我目前使用的正則表達式是
/<tr>(.+)<\/tr>/
這似乎達到我的目的最小的方式,但我正在從錯誤的preg_match。我知道我可以標誌和循環它在這個非常非常粗糙的僞代碼
if /<tr>/ then {
while != /<\/tr>/ {
store line
}
}
但是在這裏我的目標是更好地瞭解正則表達式,以及如何使用它的。
您的意思是「/
你的問題是什麼? – Sjoerd 2010-06-23 16:18:19
哈哈對不起。它不工作。我想知道你們如何去做我想做的事情。我很難弄清楚我的正則表達式有什麼問題。 – Melignus 2010-06-23 16:29:50
回答
使用Simple HTML DOM。
正則表達式解析html是一團糟。
來源
2010-06-23 18:01:40 racerror
總之是的。對不起,選擇這個答案花了這麼長時間,但我找出了問題所在。我試圖解析正則表達式的大塊文本。我通過投入一些下一個循環來固定它,以跟蹤我的特定標籤有多深。好消息是,該應用程序的作品,現在如果網站上有日曆條目,我會在平日得到一條短信,甚至可以在一天內解析多個條目,爲我自己感到驕傲,並且比我原先想象的要容易。 – Melignus 2010-10-12 16:51:05
.*?
而不是.*
,或者U(PCRE_UNGREEDY)修飾符匹配非貪婪。來源
2010-06-23 16:21:21 Sjoerd
相關問題