devcode-it/ical-easy-reader

一个易于理解的类,加载“ics”格式字符串,并返回包含传统iCal字段的数组。

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

This package is auto-updated.

Last update: 2024-09-19 16:24:50 UTC


README

这是对原始项目的分支,原始项目地址为 https://github.com/Sinevia/ical-easy-reader,分支地址为 https://github.com/n3oklan/ical-easy-reader,然后在devcode-it上对其进行维护,使其在packagist上可用。

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

安装

composer require devcode-it/ical-easy-reader

用法

    <?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 );
    ?>

输出

    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: