コード例 #1
0
 protected function contentline($line)
 {
     $contentline = array('name' => '', 'value' => '', 'params' => array());
     if (preg_match('/([^":]*(?:"[^"]*"[^":]*)*):(.*)/', $line, $parts)) {
         $params = explode(';', $parts[1]);
         $contentline['name'] = array_shift($params);
         $contentline['value'] = trim(ICalendar::ical_unescape_text($parts[2]));
         $contentline['params'] = array();
         foreach ($params as $param) {
             preg_match("/(.*?)=(.*)/", $param, $param_bits);
             $contentline['params'][$param_bits[1]] = str_replace("\"", "", $param_bits[2]);
         }
     } else {
         Kurogo::log(LOG_WARNING, "Found an invalid ICS line: {$line}", 'data');
     }
     return $contentline;
 }
コード例 #2
0
    protected function contentline($line) {
        $contentline = array(
            'name'=>'',
            'value'=>'',
            'params'=>array()
        );

        if (preg_match('/(.*?)(?!<\\\):(.*)/', $line, $parts)) {
            $params = explode(';', $parts[1]);
            $contentline['name'] = array_shift($params);
            $contentline['value'] = trim(ICalendar::ical_unescape_text($parts[2]));
            $contentline['params'] = array();
            foreach ($params as $param) {
                preg_match("/(.*?)=(.*)/", $param, $param_bits);
                $contentline['params'][$param_bits[1]] = str_replace("\"", "", $param_bits[2]);
            }
        } else {
        	error_log("Found a line $line that may not be valid");
        }
        
        return $contentline;
    }