PHP - preg_match_all - iCalendar - REGEX

1 Cevap php

i bir diziye bütün değerleri koymak için bir regex oluştururken yardıma ihtiyacım var!

biz Postadölesan dolu büyük bir dosya var varsayarak:

Klasik iCalendar style:

bu yüzden biz her segment start BEGIN:VEVENT ve end ile birlikte END:VEVENT biliyorum

...
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 i diziye tüm Postadölesan değerlerini tutabilir regex nedir, bu iş için en iyi seçim olduğunu düşünüyorum kullanarak!?

PS: segmentler arasında hiçbir satır sonu, bu sadece örnek için vardır!

EDITED: just for clarification i want achieve a result like this:

        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
                (

...
                )
    ...

        )

kez All bulunuyor ederim!

Regards Luca Filosfi

1 Cevap

Neden normal ifadeleri kullanırsınız?

Bu explode() için bir iş ve temizleme biraz benziyor.