【发布时间】:2010-07-15 20:19:05
【问题描述】:
有什么方法可以解析 HTTP_USER_AGENT 以获取当前用户语言?
【问题讨论】:
标签: php web-applications
有什么方法可以解析 HTTP_USER_AGENT 以获取当前用户语言?
【问题讨论】:
标签: php web-applications
试试:
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
echo $lang;
【讨论】:
您可能想在 $_SERVER 超全局中尝试 HTTP_ACCEPT_LANGUAGE。
查看http://php.net/manual/en/reserved.variables.server.php 了解更多信息。
这将返回一个类似“en-us”的值,然后您可以根据需要对其进行分解。
【讨论】:
理论上,您可以尝试围绕用户代理做一些体操,但还有一个 Accept-Language 标头似乎可以解决问题!
【讨论】:
执行此操作的另一种常用方法(作为创建替代方法)是根据具有相关区域的 IP 数据库检查用户的 IP。最常见的数据库是 GeoIP (http://www.maxmind.com)。如果您有兴趣,值得一看。然后,您可以继续将语言更改为该地区的语言。
问候,
丹尼斯 M.
【讨论】:
HTTP_ACCEPT_LANGUAGE 更加可靠,尤其是对于出国旅行的人。