用PHP检测用户语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用PHP检测用户语言相关的知识,希望对你有一定的参考价值。

Function to detect user language in 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*qs*=s*(1|0.[0-9]+))?/i',
  6. $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang_parse);
  7. if (count($lang_parse[1])) {
  8. // create a list like "en" => 0.8
  9. $langs = array_combine($lang_parse[1], $lang_parse[4]);
  10. // set default to 1 for any without q factor
  11. foreach ($langs as $lang => $val) {
  12. if ($val === '') $langs[$lang] = 1;
  13. }
  14. // sort list based on value
  15. arsort($langs, SORT_NUMERIC);
  16. }
  17. }
  18. //extract most important (first)
  19. foreach ($langs as $lang => $val) { break; }
  20. //if complex language simplify it
  21. if (stristr($lang,"-")) {$tmp = explode("-",$lang); $lang = $tmp[0]; }
  22. return $lang;
  23. }

以上是关于用PHP检测用户语言的主要内容,如果未能解决你的问题,请参考以下文章

PHP必用代码片段

PHP检测函数是否存在

PHP 使用PHP检测用户语言

服务端模版注入漏洞检测payload整理

用PHP实现简单的用户代理(移动和智能手机)检测和重定向

在一个片段中检测Recyclerview的上下滑动,我怎么做?