zoukankan      html  css  js  c++  java
  • 判断浏览器的类型$_SERVER['HTTP_USER_AGENT']和语言$_SERVER['HTTP_ACCEPT_LANGUAGE']

    判断浏览器类型:

    $_SERVER["HTTP_USER_AGENT"]

    判断浏览器类型的具体程序如下:

    <?php
    if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))  
    echo "Internet Explorer 8.0";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))  
    echo "Internet Explorer 7.0";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))  
    echo "Internet Explorer 6.0";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))  
    echo "Firefox 3";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))  
    echo "Firefox 2";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))  
    echo "Google Chrome";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))  
    echo "Safari";  
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))  
    echo "Opera";  
    else echo $_SERVER["HTTP_USER_AGENT"];  
    ?>

    判断浏览器语言:

    $_SERVER["HTTP_ACCEPT_LANGUAGE"]

    判断浏览器语言的具体程序如下:

    <?php
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。  
    if (preg_match("/zh-c/i", $lang))  
    echo "简体中文";  
    else if (preg_match("/zh/i", $lang))  
    echo "繁體中文";  
    else if (preg_match("/en/i", $lang))  
    echo "English";  
    else if (preg_match("/fr/i", $lang))  
    echo "French";  
    else if (preg_match("/de/i", $lang))  
    echo "German";  
    else if (preg_match("/jp/i", $lang))  
    echo "Japanese";  
    else if (preg_match("/ko/i", $lang))  
    echo "Korean";  
    else if (preg_match("/es/i", $lang))  
    echo "Spanish";  
    else if (preg_match("/sv/i", $lang))  
    echo "Swedish";  
    else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];  
    ?>

    关于上面正则的说明:

    /u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)
    /i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象)
    /s 表示将字符串视为单行来匹配

    小结:判断浏览器类型主要是靠分析$_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析$_SERVER["HTTP_ACCEPT_LANGUAGE"]

    原理:因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言)。所以这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)。我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了,根据程序的设计我们还可以将页面设计得更漂亮一些出来。

    源自博友的博客:http://www.jb51.net/article/34344.htm

  • 相关阅读:
    PHP常用数组函数介绍
    php字符串处理函数大全
    Laravel框架数据库CURD操作、连贯操作使用方法
    yii gii自动生成的curd添加批量删除实例
    负载均衡的几种实现方式
    php导出excel
    php导入excel文件
    html+php实现无刷新上传文件
    python3.3 基础 新特性
    二叉树的遍历
  • 原文地址:https://www.cnblogs.com/chrdai/p/8574763.html
Copyright © 2011-2022 走看看