4

I have this code to detect if user is using IE Browser, however I would like to detect if it is ie 10 or a version below ie 10

<?php
    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    if(preg_match('/MSIE/i',$u_agent)){
       //do something
       //HOW TO KNOW IS IE 10
       // HOW TO KNOW BROWSER VERSION IS LESS THAN IE 10?
    }else{
       //hope users would always use other browser than IE 
    } 

    ?>

so is it correct?

 <?php
        $u_agent = $_SERVER['HTTP_USER_AGENT'];
        //IE
        if(preg_match('/MSIE/i',$u_agent)){

           //IE 10
           if(preg_match('/msie 10/i', $_SERVER['HTTP_USER_AGENT'])) {
                     //  DO IE10.
           // < IE 10
           }else{
                     //  DO < IE10.
           } 

        }else{
           //OTHER BROWSERS 
           //hope users would always use other browser than IE 
        } 

        ?>
4

3 に答える 3

13

これはあなたを助けるかもしれません:

<?php 
//echo $_SERVER['HTTP_USER_AGENT'];

 if(preg_match('/(?i)msie [10]/',$_SERVER['HTTP_USER_AGENT']))
{
    // if IE = 10
   echo "version is IE 10"; //rest of your code
}
else
{
    // if not 10
     echo "version is not 10"; //rest of your code
}
 ?>

デモはこちら>>

編集: 3つのケースに分けます:

<?php 
//echo $_SERVER['HTTP_USER_AGENT'];

 if(preg_match('/(?i)msie [1-9]/',$_SERVER['HTTP_USER_AGENT']))
{
    // if IE <= 10
   echo "version is less than 10"; //rest of your code
} else  if(preg_match('/(?i)msie [10]/',$_SERVER['HTTP_USER_AGENT']))
{
    // if IE = 10
   echo "version is IE 10"; //rest of your code
}
else
{
    // if not 10
     echo " other browser"; //rest of your code

}
 ?>

デモはこちら>>

于 2013-05-10T04:05:44.513 に答える
3

HTTP_USER_AGENTサーバー変数で IE を簡単に確認できます。

if(preg_match('/msie [2-10]/i', $_SERVER['HTTP_USER_AGENT'])) {
    // This user is using IE2 - IE10.
} else {
    // Using something else.
}

特にIE10 をターゲットにしたい場合は、次を使用できます。

if(preg_match('/msie 10/i', $_SERVER['HTTP_USER_AGENT'])) {
    // This user is using IE10.
} else {
    // Using something else.
}
于 2013-05-10T04:02:20.903 に答える