PHP检测用户语言的方法

5年以前  |  阅读数:450 次  |  编程语言:PHP 

本文实例讲述了PHP检测用户语言的方法。分享给大家供大家参考。具体如下:


    function getPreferredLanguage() {
     $langs = array();
     if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
      // break up string into pieces (languages and q factors)
      preg_match_all('/([a-z]{1,8}(-[a-z]{1,8})?)\s*(;\s*q\s*=\s*(1|0\.[0-9]+))?/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
      if (count($lang_parse[1])) {
       // create a list like "en" => 0.8
       $langs = array_combine($lang_parse[1], $lang_parse[4]);
       // set default to 1 for any without q factor
       foreach ($langs as $lang => $val) {
        if ($val === '') $langs[$lang] = 1;
       }
       // sort list based on value 
       arsort($langs, SORT_NUMERIC);
      }
     }
     //extract most important (first)
     foreach ($langs as $lang => $val) { break; }
     //if complex language simplify it
     if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; }
     return $lang;
    }

希望本文所述对大家的php程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例