Parser ICS
Freddy_666
Messages postés
5
Statut
Membre
-
ANexus -
ANexus -
Bonjour,
J'ai un petit problème, je dois réussir a récupérer les dates d'évènements et les intitulés d'évènements d'un fichier ics
je me suis dit, qu'il fallait utiliser mon pire cauchemar, les expressions régulières. Bien sur je n'y suis pas arrivé, et le script ne m'affiche rien...
Voila un morceau du fichier ics en question (un fichier de test que j'ai généré sur google agenda...):
BEGIN:VEVENT
DTSTART;TZID=Europe/Paris:20080623T130000
DTEND;TZID=Europe/Paris:20080623T210000
DTSTAMP:20080523T100943Z
UID:lgg3no13r89ha5ifgmc7hk059g@google.com
CLASS:PRIVATE
CREATED:20080523T100916Z
LAST-MODIFIED:20080523T100916Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:test
TRANSP:OPAQUE
END:VEVENT
Et donc aprés un petit voyage sur internet, j'ai trouvé quelque petites idées, mais sa n'as pas marché. Voici le code php:
$contenuFichier = file_get_contents("./basic.ics");
//Les expression reguliere
$pcre_date_debut = '`^DTSTART:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2])([0-9]{2])([0-9]{2])Z$`m';
$pcre_date_fin = '`^DTEND:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2])([0-9]{2])([0-9]{2])Z$`m';
$prce_evenement = '`^SUMMARY:Z$`m';
//initialisation des tableau de resultat
$result_date_debut = Array();
$result_date_fin = Array();
$result_evenement = Array();
//envoi des preg match
preg_match_all($pcre_date_debut, $contenuFichier, $result_date_debut, PREG_PATTERN_ORDER);
preg_match_all($pcre_date_fin, $contenuFichier, $result_date_fin, PREG_PATTERN_ORDER);
preg_match_all($pcre_evenement, $contenuFichier, $result_evenement, PREG_PATTERN_ORDER);
//affichage des tableaux a la volée...
print_r($result_date_debut);
echo "<br><hr><br>";
print_r($result_date_fin);
echo "<br><hr><br>";
print_r($result_evenement);
J'ai utilisé des preg_match_all sachant qu'il y en a plusieur dans le fichier ics :-D
Mais sa en marche pas :-(
Je vous remercierai de bien vouloir m'aider ;-)
J'ai un petit problème, je dois réussir a récupérer les dates d'évènements et les intitulés d'évènements d'un fichier ics
je me suis dit, qu'il fallait utiliser mon pire cauchemar, les expressions régulières. Bien sur je n'y suis pas arrivé, et le script ne m'affiche rien...
Voila un morceau du fichier ics en question (un fichier de test que j'ai généré sur google agenda...):
BEGIN:VEVENT
DTSTART;TZID=Europe/Paris:20080623T130000
DTEND;TZID=Europe/Paris:20080623T210000
DTSTAMP:20080523T100943Z
UID:lgg3no13r89ha5ifgmc7hk059g@google.com
CLASS:PRIVATE
CREATED:20080523T100916Z
LAST-MODIFIED:20080523T100916Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:test
TRANSP:OPAQUE
END:VEVENT
Et donc aprés un petit voyage sur internet, j'ai trouvé quelque petites idées, mais sa n'as pas marché. Voici le code php:
$contenuFichier = file_get_contents("./basic.ics");
//Les expression reguliere
$pcre_date_debut = '`^DTSTART:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2])([0-9]{2])([0-9]{2])Z$`m';
$pcre_date_fin = '`^DTEND:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2])([0-9]{2])([0-9]{2])Z$`m';
$prce_evenement = '`^SUMMARY:Z$`m';
//initialisation des tableau de resultat
$result_date_debut = Array();
$result_date_fin = Array();
$result_evenement = Array();
//envoi des preg match
preg_match_all($pcre_date_debut, $contenuFichier, $result_date_debut, PREG_PATTERN_ORDER);
preg_match_all($pcre_date_fin, $contenuFichier, $result_date_fin, PREG_PATTERN_ORDER);
preg_match_all($pcre_evenement, $contenuFichier, $result_evenement, PREG_PATTERN_ORDER);
//affichage des tableaux a la volée...
print_r($result_date_debut);
echo "<br><hr><br>";
print_r($result_date_fin);
echo "<br><hr><br>";
print_r($result_evenement);
J'ai utilisé des preg_match_all sachant qu'il y en a plusieur dans le fichier ics :-D
Mais sa en marche pas :-(
Je vous remercierai de bien vouloir m'aider ;-)
A voir également:
- Parser ICS
- Msxml 4.0 sp3 parser - Forum Logiciels
- Ics alfa 166 - Forum Autoradio
- Calendrier ics gratuit - Télécharger - Organisation
- Xml parser error youtube receiver ✓ - Forum YouTube
- Html parser python - Forum HTML
1 réponse
Salut,
Il existe la classe IcalCreator qui te fait déjà tout.
https://kigkonsult.se/iCalcreator/
Tu n'as plus qu'à utiliser la fonction parse et tu lui indiques l'url du fichier ics et il te retourne tous les différents éléments dans un tableau.
Have Fun :))
Il existe la classe IcalCreator qui te fait déjà tout.
https://kigkonsult.se/iCalcreator/
Tu n'as plus qu'à utiliser la fonction parse et tu lui indiques l'url du fichier ics et il te retourne tous les différents éléments dans un tableau.
Have Fun :))