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