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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
php 信息采集程序代码
Mar 17 PHP
php 中英文语言转换类代码
Aug 11 PHP
php去除重复字的实现代码
Sep 16 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
php中substr()函数参数说明及用法实例
Nov 15 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
php简单实现sql防注入的方法
Apr 22 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
PHP7变量处理机制修改
Mar 09 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
一个分页的论坛
2006/10/09 PHP
php 中文和编码判断代码
2010/05/16 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
python生成随机红包的实例写法
2019/09/02 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python基于locals返回作用域字典
2020/10/17 Python
公司财务工作总结的自我评价
2013/11/23 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
集体婚礼策划方案
2014/02/22 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
周恩来的四个昼夜观后感
2015/06/03 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
缓存替换策略及应用(以Redis、InnoDB为例)
2021/07/25 Redis
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js