*

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でスケジュール表もしくはタイムテーブルっぽいもの 仕事でスケジュール管理のシステム開発

記事を読む

apache -h

Macで ローカルサーバー構築 Apache設定編

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

記事を読む

c2

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

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

記事を読む

PHP 5.4.17

Macで ローカルサーバー構築 PHP設定編

Macで ローカルサーバー環境を構築するまで PHP設定編 ネットでの情報は必要最低限しか載ってな

記事を読む

cs06d2.PNG

Androidで課金アプリ作製 サンプルコード(BILLING V3) 起動編

Androidで課金アプリ作製 サンプルコード起動編 課金アプリの制作の機会が来てしまいました。

記事を読む

server_error_500

Apache 500 Internal Server Error

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

記事を読む

php-logo

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

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

記事を読む

apache -h

Macで ローカルサーバー構築 Postfix基本編

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

記事を読む

jquery-logo_png

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

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

記事を読む

droid

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

Google Cloud Messaging プロジェクトナンバー APK取得編 コンソールの仕様

記事を読む

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 ↑