当前位置:首页 > PHP教程 > php应用 > 列表

PHP检测用户语言的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-28 11:43:11 浏览: 评论:0 

这篇文章主要介绍了PHP检测用户语言的方法,涉及针对php预定义服务器变量$_SERVER['HTTP_ACCEPT_LANGUAGE']的判定与使用技巧,需要的朋友可以参考下

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

  1. function getPreferredLanguage() { 
  2.  $langs = array(); 
  3.  if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { 
  4.   // break up string into pieces (languages and q factors) 
  5.   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); 
  6.   if (count($lang_parse[1])) { 
  7.    // create a list like "en" => 0.8 
  8.    $langs = array_combine($lang_parse[1], $lang_parse[4]); 
  9.    // set default to 1 for any without q factor 
  10.    foreach ($langs as $lang => $val) { 
  11.     if ($val === ''$langs[$lang] = 1; 
  12.    } 
  13.    // sort list based on value  
  14.    arsort($langs, SORT_NUMERIC); 
  15.   } 
  16.  } 
  17.  //extract most important (first) 
  18.  foreach ($langs as $lang => $val) { break; } 
  19.  //if complex language simplify it 
  20.  if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; } 
  21.  return $lang
  22. }

Tags: PHP检测用户语言

分享到: