如何在PHP中执行浏览器检测 - IE(版本)

Jos*_*ito 3 php internet-explorer

我发现这段代码通过php检测浏览器:

<?php
$msie = strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') ? true : false;
$firefox = strpos($_SERVER["HTTP_USER_AGENT"], 'Firefox') ? true : false;
$safari = strpos($_SERVER["HTTP_USER_AGENT"], 'Safari') ? true : false;
$chrome = strpos($_SERVER["HTTP_USER_AGENT"], 'Chrome') ? true : false;
?>

<?php
//Firefox
if ($firefox) {
echo 'you are using Firefox!';
echo '<br />';
}

// Safari or Chrome. Both use the same engine - webkit
if ($safari || $chrome) { 
echo 'you are using a webkit powered browser';
echo '<br />';
}

// IE
if ($msie) {
echo '<br>you are using Internet Explorer<br>';
echo '<br />';
}?>
Run Code Online (Sandbox Code Playgroud)

资源

但代码不包括IE的可能版本.做了这样的事情:

// IE7
if ($msie7) {
echo '<br>you are using Internet Explorer 7<br>';
echo '<br />';
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?希望改进代码,包括支持IE版本.

Fer*_*yan 6

试试这个:

<?php
    $ie6 = (ereg("MSIE 6", $_SERVER["HTTP_USER_AGENT"])) ? true : false;
    $ie7 = (ereg("MSIE 7", $_SERVER["HTTP_USER_AGENT"])) ? true : false;
    $ie8 = (ereg("MSIE 8", $_SERVER["HTTP_USER_AGENT"])) ? true : false;

    if ($ie6 || $ie7 || $ie8) {
        // Do fallback stuff that old browsers can do here
        echo "You are using IE";
    } else {
        // Do stuff that real browsers can handle here
    }
?>
Run Code Online (Sandbox Code Playgroud)

  • 当你对IE以外的浏览器说"真正的浏览器"时,我喜欢它 (9认同)
  • 旁注:[`ereg()`](http://www.php.net/ereg)此函数自PHP 5.3.0起已被弃用.非常不鼓励依赖此功能.[`preg_match()`](http://www.php.net/preg_match)是此函数的建议替代方法. (4认同)