PHP检测用户语言的方法


Posted in PHP onJune 15, 2015

本文实例讲述了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 相关文章推荐
dedecms系统常用术语汇总
Apr 03 PHP
php pack与unpack 摸板字符字符含义
Oct 29 PHP
session在PHP大型web应用中的使用
Jun 25 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
关于svn冲突的解决方法
Jun 21 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
PHP延迟静态绑定示例分享
Jun 22 PHP
CI框架常用方法小结
May 17 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
详解php中空字符串和0之间的关系
Oct 23 PHP
php实现求相对时间函数
Jun 15 #PHP
php数组随机排序实现方法
Jun 13 #PHP
隐性调用php程序的方法
Jun 13 #PHP
PHP获取数组的键与值方法小结
Jun 13 #PHP
PHP中你应该知道的require()文件包含的正确用法
Jun 12 #PHP
PHP查找与搜索数组元素方法总结
Jun 12 #PHP
php使用array_search函数实现数组查找的方法
Jun 12 #PHP
You might like
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
菜单效果
2006/10/14 Javascript
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
Vue中保存数据到磁盘文件的方法
2018/09/06 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
python实现SMTP邮件发送功能
2020/06/16 Python
python虚拟环境virualenv的安装与使用
2016/12/18 Python
Python科学计算之Pandas详解
2017/01/15 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
Python如何在循环内使用list.remove()
2020/06/01 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
初二政治教学反思
2014/01/12 职场文书
人资专员岗位职责
2014/04/04 职场文书
服务行业口号
2014/06/11 职场文书
纪检干部现实表现材料
2014/08/21 职场文书
青岛导游词
2015/02/12 职场文书
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android
win10搭建配置ftp服务器的方法
2022/08/05 Servers