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 相关文章推荐
PHP中ADODB类详解
Mar 25 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
PHP语法小结之基础和变量
Nov 22 PHP
PHP加密解密实例分析
Dec 25 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
php中的单引号、双引号和转义字符详解
Feb 16 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
Oct 15 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
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
js常用代码段整理
2011/11/30 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
Sea.JS知识总结
2016/05/05 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python中使用动态变量名的方法
2014/05/06 Python
Python中for循环控制语句用法实例
2015/06/02 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
对python修改xml文件的节点值方法详解
2018/12/24 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python3实现猜数字游戏
2020/12/07 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
秋季运动会稿件
2014/01/30 职场文书
黄金酒广告词
2014/03/21 职场文书
元宵晚会主持词
2014/03/25 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
拾金不昧表扬信
2015/01/16 职场文书
个人简历求职信范文
2015/03/20 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技