微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用PHP检查浏览器的语言?

如何通过 PHP检查用户浏览器的语言?

我需要为美国和英国的人们展示不同的网页.

我尝试以下代码失败

<?PHP
if(ereg("us",$_SERVER["HTTP_ACCEPT_LANGUAGE"]))
   include('http://page.com/us.txt');
else
   include('http://page.com/uk.txt');
?>

我为美国和英国的人运行了一个特定的代码.

很可能只是一个区分大小写的问题; eregi(‘en-us’)或preg_match(‘/ en-us / i’)应该拿起它.

然而,只是在标题中寻找’en-us’有时可能会出错,特别是当美国和英国的语言被列出时. “接受语言”实际上是一个复杂的头,这真的是你想要一个正确的解析器.

如果你有PECL,整个工作已经为你完成了:http://www.php.net/manual/en/function.http-negotiate-language.php

我不知道为什么其他的答案正在为用户代理头;这是完全虚伪的用户代理不是要求在任何特定的地方持有语言值,对于某些浏览器(例如Opera,以及我从未听说过的“Internet Explorer”的一些小型浏览器),它根本不会.它包含一种语言,这将是浏览器构建所安装的语言,而不是您应该查看的用户首选语言. (此设置将认为构建语言,但可由用户从首选项UI自定义.)

原文地址:https://www.jb51.cc/php/130616.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐