*

PHPでIE11ユーザーエージェント判定

公開日: : PHP, 開発

IE11のユーザーエージェント判定

自作のユーザーエージェント判定クラスでIEの判定が出来てなかったので少々調査。
というかIE11からユーザーエージェントの値が変わってました。。。
php5.3系

IE11から

Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko

「rv:11.0」がバージョンにみたいです。

IE10とか

Mozilla/5.0 (Compatible; MSIE 10.0; Windows NT 6.1…?

こんな感じ?

以前の判定方法

$pos = strpos($this->user_agent, 'MSIE');

後は出現場所から「substr」で一定数の文字を切り取ってヴァージョンを調べてましたが、
IE11からは’MSIME’の文字列が無くなってしまってます。。。

なので「Windows NT」が出現したらIEとして、
「rv:」以降の文字列をバージョンとして文字を切り取ります。

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT')) {
	$pos = strpos($_SERVER['HTTP_USER_AGENT'], 'rv:');
	$version = substr($_SERVER['HTTP_USER_AGENT'], $pos+3, 4);
}

実コードでは細かいバージョンまで見てないので$versionをintvalで整数にしてごにょごにょしてます。
これだとIE10とかもひっかかるので、一旦「MSIE」をチェックして、抜けたらこれを通して判定してます。

もっとスマートな方法がありそうなので。。。発見したら更新するかも?

関連記事

jquery-logo_png

jQuery Googleカレンダー風スケジュール表 タイムテーブル

jQueryでスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発

記事を読む

jquery-logo_png

jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン

水平スクロール&cssでカスタム可能なスクロールバーなプラグイン jQueryを使ったプラグインは

記事を読む

php-logo

PHPで指定日の祝日を取得する方法 GoogleAPI利用

google APIを利用して指定日が祝日かどうか取得する 技術的な内容を書く場合は載せてるコード

記事を読む

server_error_500

Apache 500 Internal Server Error

久しぶりに自宅のローカルサーバーを動かしたら「Server error!」が出てゑっ!? 解決方法

記事を読む

c2

C言語 バッファオーバーランまで ポインタ考察編

趣旨 ただC言語を勉強してもモチベーションがあがり辛いので、 取り合えずバッファオーバーランを目

記事を読む

droid

Androidで課金アプリ作製 プロセス間通信予習編

Androidで課金アプリ作製 プロセス間通予習編 課金アプリを作成の際にaidlファイルを利用す

記事を読む

PHP-icon

PHP MySQL 重複行を抽出 ロジックで高速化

PHP MySQL 重複行を抽出 ロジックで高速化 ロジックで高速化は釣りになっているかもしれませ

記事を読む

jquery-logo_png

jQuery removeClass 特定のクラスを全て削除

特定のクラスを全て削除 フォームを作成した時に、入力項目に不備があった場合は目立つ様にinput属

記事を読む

apache -h

Macで ローカルサーバー構築 Apache起動編

Macで ローカルサーバー環境を構築するまで Apache起動編 ネットでの情報は必要最低限しか載

記事を読む

jquery-logo_png

jQuery draggable,resizable 要素のサイズがずれる

uiプロパティ以外で要素のサイズ取得を試みる draggableとresizableを使用し要素の

記事を読む

jquery-logo_png
jQuery 水平スクロール&cssでカスタム可能なスクロールバーなプラグイン

水平スクロール&cssでカスタム可能なスクロールバーなプラグイン j

c
C言語 バッファオーバーランまで 関数の引数ポインタ

関数引数としてのポインタ 今回は関数引数としてのポインタに関して。

c2
C言語 バッファオーバーランまで ポインタ考察編

趣旨 ただC言語を勉強してもモチベーションがあがり辛いので、 取り

droid
Google Cloud Messaging プロジェクトナンバー API Key取得編 2014/07最新版

Google Cloud Messaging プロジェクトナンバー A

jquery-logo_png
jQuery removeClass 特定のクラスを全て削除

特定のクラスを全て削除 フォームを作成した時に、入力項目に不備があっ

→もっと見る

PAGE TOP ↑