PHP
ガラケー

ガラケーのフルブラウザ判定

今更ながらガラケー対応のお仕事でフルブラウザもガラケー向けの表示をさせることになったので判定方法を調べてみた。

フルブラウザとは

そもそもフルブラウザとはなんぞやってところからなので、
とりあえずウィキペディアさんを見てもらうとして。。。

フルブラウザ

そして、各キャリアで呼び方が違うことに最初に気づく。。。

キャリア 呼び名
docomo フルブラウザ
au PCサイトビューアー
SoftBank PCサイトブラウザ

※今更ですが名前くらい統一してほしいですね。

auはサービスが終了している模様。。。
「PCサイトビューアー」のサービス終了について

ユーザーエージェント

各キャリアのユーザーエージェントはこんな感じ

docomo

・iモードブラウザ
DoCoMo/2.0 F900i(c100;TB;W22H12)
・フルブラウザ
Mozilla/4.08 (N901iS;FOMA;c300;TB;W24H12)

https://www.nttdocomo.co.jp/service/developer/make/content/browser/html/useragent

SoftBank

・ブラウザ
SoftBank/1.0/301P/PJP10[/Serial] Browser/NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1
・PCサイトブラウザ
Mozilla/4.08 (301P;SoftBank;[;Serial]) NetFront/3.4

http://creation.mb.softbank.jp/mc/terminal/terminal_info/terminal_useragent.html

※auはサービス終了しているのでスルーで

判定

SoftBankは「SoftBank」の文字列が含まれていたらガラケーと見て問題はなさそう
ドコモは「DoCoMo」「FOMA」のどちらかが含まれていたらでガラケーと判定にするしかないかな

PHPで書くとこんな感じかな

$ua = $_SERVER['HTTP_USER_AGENT'];
if((strpos($ua, 'DoCoMo') !== false) || (strpos($ua, 'FOMA') !== false)) {
    return 'docomo';
}
if(strpos($ua, 'SoftBank') !== false)) {
    return 'SoftBank';
}

参考サイト

https://www.baka-ke.com/2009/03/29/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%83%95%E3%83%AB%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AFuseragent%E3%81%8C%E9%81%95%E3%81%86%E4%BB%B6/
http://blog.still-laughin.com/archives/2010/02/post-4961.html