首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP:如果internet explorer 6、7、8或9

PHP:如果internet explorer 6、7、8或9
EN

Stack Overflow用户
提问于 2011-03-15 01:47:07
回答 15查看 177.4K关注 0票数 87

我想用PHP为不同版本的Internet Explorer做一个条件,如下所示:

if($browser == ie6){ //do this} elseif($browser == ie7) { //dothis } elseif...

我已经看到了类似代码的许多变体,但寻找一些超级简单的东西,很容易编写代码来做一些简单的if和else,并做不同的事情。

谢谢

编辑:我需要这个来显示一些不同的消息给用户,所以CSS条件等不好。

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-03-15 01:59:01

这就是我最终使用的变体,它检查IE8和以下内容:

if (preg_match('/MSIE\s(?P<v>\d+)/i', @$_SERVER['HTTP_USER_AGENT'], $B) && $B['v'] <= 8) {
    // Browsers IE 8 and below
} else {
    // All other browsers
}
票数 130
EN

Stack Overflow用户

发布于 2012-07-31 21:45:37

将继续与IE10和IE11一起使用的版本:

preg_match('/MSIE (.*?);/', $_SERVER['HTTP_USER_AGENT'], $matches);
if(count($matches)<2){
  preg_match('/Trident\/\d{1,2}.\d{1,2}; rv:([0-9]*)/', $_SERVER['HTTP_USER_AGENT'], $matches);
}

if (count($matches)>1){
  //Then we're using IE
  $version = $matches[1];

  switch(true){
    case ($version<=8):
      //IE 8 or under!
      break;

    case ($version==9 || $version==10):
      //IE9 & IE10!
      break;

    case ($version==11):
      //Version 11!
      break;

    default:
      //You get the idea
  }
}
票数 86
EN

Stack Overflow用户

发布于 2011-03-15 01:54:15

这里有一个在php中检测浏览器的很好的资源:http://php.net/manual/en/function.get-browser.php

下面是一个看起来最简单的例子:

<?php
function get_user_browser()
{
    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    $ub = '';
    if(preg_match('/MSIE/i',$u_agent))
    {
        $ub = "ie";
    }
    elseif(preg_match('/Firefox/i',$u_agent))
    {
        $ub = "firefox";
    }
    elseif(preg_match('/Safari/i',$u_agent))
    {
        $ub = "safari";
    }
    elseif(preg_match('/Chrome/i',$u_agent))
    {
        $ub = "chrome";
    }
    elseif(preg_match('/Flock/i',$u_agent))
    {
        $ub = "flock";
    }
    elseif(preg_match('/Opera/i',$u_agent))
    {
        $ub = "opera";
    }

    return $ub;
}
?>

然后在稍后的代码中,您可以这样说

$browser = get_user_browser();
if($browser == "ie"){
    //do stuff
}
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5302302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档