我想确定访客的地区。我的网站有4种语言版本,我想检测访问者是从英语国家还是俄语,阿拉伯语或西班牙语国家访问我的网站。最好的方法是什么?
答案 0 :(得分:1)
这是我们在脚本中用于执行类似检测的内容:
function get_preferred_lang() {
if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) {
preg_match_all('#([a-z-]+) *(?:; *q=([0-9.]+))?#', strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"]), $matches);
$accept = array_combine($matches[1], $matches[2]);
foreach ($accept as $key => $val)
$accept[$key] = $val == '' ? 1.0 : (float) $val;
arsort($accept);
return substr(array_shift(array_keys($accept)),0,2);
} else {
return 'unknown';
}
}
答案 1 :(得分:0)
答案 2 :(得分:-1)
您可以使用$_SERVER['REMOTE_ADDR'];
获取用户IP地址,并根据此使用此链接继续根据您的要求GEOIP