function iCalDecoder($file) { $ical = file_get_contents($file); preg_match_all('/(BEGIN:VEVENT.*?END:VEVENT)/si', $ical, $result, PREG_PATTERN_ORDER); for ($i = 0; $i < count($result[0]); $i++) { $tmpbyline = explode("rn", $result[0][$i]); foreach ($tmpbyline as $item) { $tmpholderarray = explode(":",$item); if (count($tmpholderarray) >1) { $majorarray[$tmpholderarray[0]] = $tmpholderarray[1]; } } if (preg_match('/DESCRIPTION:(.*)END:VEVENT/si', $result[0][$i], $regs)) { $majorarray['DESCRIPTION'] = str_replace(" ", " ", str_replace("rn", "", $regs[1])); } $icalarray[] = $majorarray; unset($majorarray); } return $icalarray; }