Parser des fichiers iCalendar très facilement en PHP et Javascript

Parser des fichiers iCalendar très facilement en PHP et Javascript

Jérémy 🤘
Jérémy 🤘

Les fichiers iCalendar (ou *.ics) est un format défini par la RFC 5545 pour d'échanges de données de calendrier. Ce format vous permet d'envoyer des invitations à des rendez-vous par email.

Parser

Copier
use ICal\ICal;
$ical = new ICal(array('ICal.ics'), array(
    'defaultSpan'           => 2,     // Default value
    'defaultTimeZone'       => 'UTC',
    'defaultWeekStart'      => 'MO',  // Default value
    'skipRecurrence'        => false, // Default value
    'useTimeZoneWithRRules' => false, // Default value
));
use ICal\ICal;
$ical = new ICal(array('ICal.ics'), array(
    'defaultSpan'           => 2,     // Default value
    'defaultTimeZone'       => 'UTC',
    'defaultWeekStart'      => 'MO',  // Default value
    'skipRecurrence'        => false, // Default value
    'useTimeZoneWithRRules' => false, // Default value
));

Vous avez un exemple de code disponible ici : https://github.com/u01jmg3/ics-parser/blob/master/examples/index.php

Javascript : ical.js

Le module Node.js développé par Mozilla il vous permet à la fois d'en parler et d'en générer.

La documentation est disponible ici : https://github.com/mozilla-comm/ical.js/wiki

Parser

Copier
var iCalendarData = "BEGIN:VCALENDAR" + /* ... */ + "END:VCALENDAR";
var jcalData = ICAL.parse(iCalendarData);
var iCalendarData = "BEGIN:VCALENDAR" + /* ... */ + "END:VCALENDAR";
var jcalData = ICAL.parse(iCalendarData);

Générer

Copier
var comp = new ICAL.Component(jcalData);
var vevent = comp.getFirstSubcomponent("vevent");
var event = new ICAL.Event(vevent);
var summary = event.summary;
var comp = new ICAL.Component(jcalData);
var vevent = comp.getFirstSubcomponent("vevent");
var event = new ICAL.Event(vevent);
var summary = event.summary;