PHP ICS Calendar Reader: Parse iCalendar ics files to extract event details

Recommend this page to a friend!
  Info   View files Example   Screenshots Screenshots   View files View files (6)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
Not yet rated by the usersTotal: 815 This week: 2All time: 4,180 This week: 135Up
Version License PHP version Categories
ical-ics-php-reader 1.4.1MIT/X Consortium ...5.4PHP 5, Time and Date, Parsers
Description Author

This class can parse iCalendar ICS files to extract event details.

It can take a string with event data in the ICS format and parses it to extract details of the described events.

The class returns an associative array with all the details of the calendar like the program that generated, the program version, original time zone of the creator, as well the details of the events like the date and time of start and end, summary, description, etc..

Picture of Pablo Matias Perrone
  Performance   Level  
Name: Pablo Matias Perrone <contact>
Classes: 5 packages by
Country: Argentina Argentina
Age: 42
All time rank: 155719 in Argentina Argentina
Week rank: 130 Up2 in Argentina Argentina Up
Innovation award
Innovation award
Nominee: 1x

Details

iCalEasyReader

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:
Screenshots  
  • example2.png
  Files folder image Files  
File Role Description
Accessible without login Plain text file iCalEasyReader.readme.md Doc. Readme file
Plain text file iCalEasyReader.php Class iCalEasyReader class file
Accessible without login Plain text file iCalEasyReader.example.php Example usage example
Accessible without login Plain text file output.example2.txt Output Output of example2.ics
Accessible without login Plain text file example.ics Data ICS file example
Accessible without login Plain text file example2.ics Data ICS file example 2

 Version Control Unique User Downloads Download Rankings  
 0%
Total:815
This week:2
All time:4,180
This week:135Up
User Comments (1)
Thanks!
8 months ago (Ebay Michel)
80%StarStarStarStarStar
 

For more information send a message to info at phpclasses dot org.