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 相关文章推荐
给多个地址发邮件的类
Oct 09 PHP
对javascript和select部件的结合运用
Oct 09 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
php中使用cookie来保存用户登录信息的实现代码
Mar 08 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
Nov 24 PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 PHP
php里array_work用法实例分析
Jul 13 PHP
php获取远程文件大小
Oct 20 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
PHP使用CURL实现下载文件功能示例
Jun 03 PHP
PHP命名空间用法实例分析
Sep 04 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页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
XML+XSL 与 HTML 两种方案的结合
2007/04/22 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
Python装饰器简单用法实例小结
2018/12/03 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
护理毕业生自我鉴定
2014/02/11 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
交通事故责任认定书
2015/08/06 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
C#连接ORACLE出现乱码问题的解决方法
2021/10/05 Oracle
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers