devcode-it/ical-easy-reader

An easy to understood class, loads a "ics" format string and returns an array with the traditional iCal fields.

Maintainers

👁 loviuz

Package info

github.com/devcode-it/ical-easy-reader

pkg:composer/devcode-it/ical-easy-reader

Statistics

Installs: 1 474

Dependents: 1

Suggesters: 0

Stars: 0

dev-main 2023-06-19 13:48 UTC

Requires

  • php: >=5.4.0

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT ddd831032fcb637d621ec8a51d49b43943e93b01

  • Matias Perrone
  • Sinevia
  • DevCode Srl

calendararrayicsical

This package is auto-updated.

Last update: 2026-05-19 20:34:28 UTC


README

This is a fork of the original project https://github.com/Sinevia/ical-easy-reader, forked in https://github.com/n3oklan/ical-easy-reader and then in devcode-it to mantain it and make it available on packagist:

https://packagist.org/packages/devcode-it/ical-easy-reader

Installation:

composer require devcode-it/ical-easy-reader

Usage:

 <?php
 header( 'Content-Type: text/plain; charset=UTF-8' );
 include ( 'iCalEasyReader.php' );
 $ical = new iCalEasyReader();
 $lines = $ical->load( file_get_contents( 'example2.ics' ) );
 var_dump( $lines );
 ?>

Output:

 array(4) {
 ["PRODID"]=>
 string(48) "-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN"
 ["VERSION"]=>
 string(3) "2.0"
 ["VTIMEZONE"]=>
 array(3) {
 [0]=>
 array(2) {
 ["TZID"]=>
 string(13) "Europe/Berlin"
 ["X-LIC-LOCATION"]=>
 string(13) "Europe/Berlin"
 }
 ["DAYLIGHT"]=>
 array(1) {
 [0]=>
 array(5) {
 ["TZOFFSETFROM"]=>
 string(5) "+0100"
 ["TZOFFSETTO"]=>
 string(5) "+0200"
 ["TZNAME"]=>
 string(4) "CEST"
 ["DTSTART"]=>
 string(15) "19700329T020000"
 ["RRULE"]=>
 array(3) {
 ["FREQ"]=>
 string(6) "YEARLY"
 ["BYDAY"]=>
 string(4) "-1SU"
 ["BYMONTH"]=>
 string(1) "3"
 }
 }
 }
 ["STANDARD"]=>
 array(1) {
 [0]=>
 array(5) {
 ["TZOFFSETFROM"]=>
 string(5) "+0200"
 ["TZOFFSETTO"]=>
 string(5) "+0100"
 ["TZNAME"]=>
 string(3) "CET"
 ["DTSTART"]=>
 string(15) "19701025T030000"
 ["RRULE"]=>
 array(3) {
 ["FREQ"]=>
 string(6) "YEARLY"
 ["BYDAY"]=>
 string(4) "-1SU"
 ["BYMONTH"]=>
 string(2) "10"
 }
 }
 }
 }
 ["VEVENT"]=>
 array(1) {
 [0]=>
 array(9) {
 ["CREATED"]=>
 string(16) "20140107T092011Z"
 ["LAST-MODIFIED"]=>
 string(16) "20140107T121503Z"
 ["DTSTAMP"]=>
 string(16) "20140107T121503Z"
 ["UID"]=>
 string(36) "20f78720-d755-4de7-92e5-e41af487e4db"
 ["SUMMARY"]=>
 string(11) "Just a Test"
 ["DTSTART"]=>
 array(2) {
 ["value"]=>
 string(15) "20140102T110000"
 ["TZID"]=>
 string(13) "Europe/Berlin"
 }
 ["DTEND"]=>
 array(2) {
 ["value"]=>
 string(15) "20140102T120000"
 ["TZID"]=>
 string(13) "Europe/Berlin"
 }
 ["X-MOZ-GENERATION"]=>
 string(1) "4"
 ["DESCRIPTION"]=>
 &string(2298) "Here is a new Class: