コードを舐める日々

わからないことがわからないことをしる日々

読み込んだURLがHTMLかRSSか判別する方法

以前まではfile()で読み込み、変数に配列格納し配列内検索関数で処理していた・・。
これだと正確にならないので変にif文が続くのでもっといい処理ないのかと思って調べたら
ネットワークURL関数*1にget_headers()という関数があったのを知った。
というかうちが知らなかっただけorz

判別するためのメモ。

<?php
$feed = get_headers("http://d.hatena.ne.jp/makotoworld/rss",1);
$rss = $feed['Content-Type'];

function RSS_CHECK($rssURL){
	$feed = get_headers($reeURL,1);
	$rss = $feed['Content-Type'];

	if(ereg("xml",$rss)){
		echo "Feed!";
	}else{
		echo "No Feed!";
	}
}

RSS_CHECK("http://hatena.ne.jp");
RSS_CHECK("http://d.hatena.ne.jp/makotoworld/rss");
?>

これで大体チェックできる。
もっといい方法があれば教えてください。

*1:ネットワーク関数でなくURL関数でしたorz http://jp.php.net/manual/ja/function.get-headers.php