0
我需要幫助創建一個正則表達式來將所有值放入一個數組!PHP - preg_match_all - iCalendar - REGEX
假設我們有一個巨大的文件全theese的:
經典的iCalendar風格:
,所以我們知道,每個段開始與BEGIN:VEVENT
和結束與END:VEVENT
...
END:VEVENT
BEGIN:VEVENT
UID:e3cafdf3-c5c7-427e-b8c3-653015e9321a
SUMMARY:Some Text Here
DESCRIPTION:Some Text Here\n555-555-555
ORGANIZER;CN=Some/Text/Here
DTSTART;TZID="Some/Text/Here":20100802T190000
DTEND;TZID="Some/Text/Here":20100802T193000
STATUS:CONFIRMED
CLASS:PUBLIC
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
TRANSP:OPAQUE
X-MICROSOFT-DISALLOW-COUNTER:TRUE
DTSTAMP:20100423T021222Z
SEQUENCE:1
END:VEVENT
BEGIN:VEVENT
...
使用preg_match_all,我認爲這是做這件事的最佳選擇,什麼是正則表達式可以將所有的值存入數組!
PS:段之間沒有換行符,這只是例如!
編輯: 只是爲了澄清我想達到這樣的結果:
Array
(
[0] => Array
(
[0] => '
UID:e3cafdf3-c5c7-427e-b8c3-653015e9321a
SUMMARY:Some Text Here
DESCRIPTION:Some Text Here\n555-555-555
ORGANIZER;CN=Some/Text/Here
DTSTART;TZID="Some/Text/Here":20100802T190000
DTEND;TZID="Some/Text/Here":20100802T193000
STATUS:CONFIRMED
CLASS:PUBLIC
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
TRANSP:OPAQUE
X-MICROSOFT-DISALLOW-COUNTER:TRUE
DTSTAMP:20100423T021222Z
SEQUENCE:1
'
)
[1] => Array
(
...
)
...
)
感謝對所有的時間!
問候 盧卡Filosfi
你以爲我可以爆炸2MB的這些段!?爆炸之前,我想把每個片段放入數組!或者我以錯誤的方式做到這一點!? – 2010-04-25 21:06:58
爆炸比正則表達式快,所以如果你擔心尺寸和性能,'爆炸'是要走的路。鑑於格式非常簡單,這可能就足夠了。 – 2010-04-25 21:08:35
是的,你是正確的朋友! ;-)這很簡單!可能夠了,那我想了! ;-)有時會發生!我要求簡單的問題!衛生署! %-) 謝謝! – 2010-04-25 21:17:43