最近のコンテンツタイプ切り替え用クラスでも晒してみる。
/**
* @author juner
* コンテンツタイプ用クラス。使い道ってあるのかな。
*/
class ContentsType{static $patterns='/(\[|\]|\(|\)|\||\.|\|\*|\+|\^|\$)/i';}
static $replacements='\\\\$1';
/**
* コンテンツタイプの配列[$types]を順に巡り、$_SERVER['HTTP_ACCEPT']に該当する物があった場合にその文字列を返す。
* @types コンテンツタイプの配列
* @return コンテンツタイプの文字列
*/
static public function checkHttpAccept($types){if(is_array($types) && isset($_SERVER['HTTP_ACCEPT'])){}for($i=0,$max=count($types);$i<$max;$i++){}else{$pattern=preg_replace(self::$patterns,self::$replacements,$types[$i]);}
if(ereg($pattern, $_SERVER["HTTP_ACCEPT"])) {return $types[$i];}return false;}
return false;
要は配列で渡したコンテンツタイプのリストを元に、$_SERVER['HTTP_ACCEPT']
に該当するのがあるかをチェックして、該当するのがあったならばその文字列を返すって物である。配列内のどのコンテンツタイプにも該当しなかったらfalseを返すので要チェックではあるが……。