用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自定义.)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...