Мне нужна помощь при создании регулярного выражения для размещения всех значений в массиве!PHP - preg_match_all - iCalendar - REGEX
предполагая, что мы имеем огромный файл полный theese:
Классический Анонсы стиль:
поэтому мы знаем, что каждый сегмент начать с 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
Вы думаете, что я могу взорвать 2 МБ этих сегментов !? перед взрывом я хочу поместить каждый сегмент в массив! или я делаю это неправильно !? –
Взрывание быстрее, чем регулярное выражение, поэтому, если вы беспокоитесь о размере и производительности, 'explode' - это путь. И учитывая, что формат довольно прост, этого, наверное, достаточно. –
Да, вы правы, приятель! ;-) Это довольно просто! вероятно, достаточно, я подумал! ;-) иногда случаются! что я прошу просто проблемы! DOH! %-) благодаря! –