iPhoneとiPod、AndroidのスマホとタブレットのUser-Agentでの振り分け方

ケータイ(フィーチャーフォン)→ ケータイ用サイト
iPhoneとiPod、Androidのスマホ→ スマホ用サイトへ
iPadとAndroid タブレット→ PCサイトへ
といった感じで、Android タブレットで、UAにMobileが入っているものはとりあえず別として、ユーザーエージェントによって振り分けを行いたい。

※2012年12月 修正
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$ktai="<$MTBlogURL$>m/";
$smaho="<$MTBlogURL$>s/";
$tablet="<$MTBlogURL$>t/";

$ua=$_SERVER['HTTP_USER_AGENT'];
if((strpos($ua,'DoCoMo')!==false)||(strpos($ua,'KDDI')!==false)||(strpos($ua,'UP\.Browser')||(strpos($ua,'UP.Browser')!==false)!==false)||(strpos($ua,'J-PHONE')!==false)||(strpos($ua,'Vodafone')!==false)||(strpos($ua,'SoftBank')!==false)||(strpos($ua,'emobile')!==false)||(strpos($ua,'DDIPOCKET')!==false)||(strpos($ua,'WILLCOM')!==false)) {
header("Location: $ktai"); }

elseif((strpos($ua,'iPhone')!==false)||(strpos($ua,'iPod')!==false)) {
header("Location: $smaho"); }

elseif((strpos($ua,'Android')!==false)&&(strpos($ua,'Mobile')!==false)) {
header("Location: $smaho"); }

elseif((strpos($ua,'iPad')!==false)) {
header("Location: $tablet"); }

elseif((strpos($ua,'Android')!==false)) {
header("Location: $tablet");

exit();
}
?>

助長な感じもしますが。
一応、ユーザーエージェント変更してのテストはOKでした。

==
【2011年6月現在】
Android SDK 以外で、FireMobileSimulatorがタブレットでもUAの振り分けだと実機に近いっぽい感じ(REGZATablet)。
視認性が良いのだけど、mobilizerはタブレットの分岐ではちょっと微妙。

change_history