Skip to content

Repository files navigation

PHP iCal Parser

PHP TestsLatest Stable VersionTotal DownloadsLicensePHP Version Require

Internet Calendaring Parser rfc2445 or iCal parser is simple PHP class for parsing format into array.

"Buy Me A Coffee"

How to install

The recommended way to is via Composer:

composer require om/icalparser

Usage and example

<?phpuseom\IcalParser;
require_once'../vendor/autoload.php';
$cal = newIcalParser();
$results = $cal->parseFile(
'https://www.google.com/calendar/ical/cs.czech%23holiday%40group.v.calendar.google.com/public/basic.ics'
);
foreach ($cal->getEvents()->sorted() as$event) {
printf('%s - %s' . PHP_EOL, $event['DTSTART']->format('j.n.Y'), $event['SUMMARY']);
}

Each property of each event is available using the property name (in capital letters) as a key. There are some special cases:

  • multiple attendees with individual parameters: use ATTENDEES as key to get all attendees in the following scheme:
[
[
'ROLE' => 'REQ-PARTICIPANT',
'PARTSTAT' => 'NEEDS-ACTION',
'CN' => 'John Doe',
'VALUE' => 'mailto:john.doe@example.org'
],
[
'ROLE' => 'REQ-PARTICIPANT',
'PARTSTAT' => 'NEEDS-ACTION',
'CN' => 'Test Example',
'VALUE' => 'mailto:test@example.org'
]
]
  • organizer's name: the CN parameter of the organizer property can be retrieved using the key ORGANIZER-CN

You can run example with PHP Built-in web server as follow:

php -S localhost:8000 -t example

Requirements

  • PHP 8.0+

Run tests

iCal parser using Nette Tester. The tests can be invoked via composer.

composer update
composer test

About

This is simple icalendar parser

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages