Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

iCal形式のデータをパースしてみる

File_IMCというPearにあるライブラリを使えば一発っぽいので試してみました。

pear instal File_IMC-0.4.3

とやってインストールして

	require_once('File/IMC.php');
		
	$text = file_get_contents('iCalのデータ');
	$parse = File_IMC::parse('vCalendar');
	$parse->fromText($text);
	$events = $parse->getEvents();

	$data = array();
	while ($events->valid()) {
		$event = $events->current(); // File_IMC_Parse_Vcalendar_Event
				
		$data[]= array(
			'start' => $event->getStart(),
			'end' => $event->getEnd(),
			'summary'	=> $event->getSummary(),
			'description' => $event->getDescription()
		);
		$events->next();
	}
	
	echo htmlspecialchars(json_encode($data), ENT_QUOTES, 'UTF-8');

こんな感じで、json形式に変換して出力できました。