訪問者の地域を特定したい。私のウェブサイトには 4 つの言語バージョンがあり、訪問者が私のサイトに英語を話す国、ロシア語、またはアラビア語またはスペイン語を話す国からアクセスしているかどうかを検出したいと考えています。それを行う最良の方法は何ですか?
質問する
616 次
3 に答える
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';
}
}
于 2012-10-12T11:09:38.583 に答える
-1
を使用$_SERVER['REMOTE_ADDR'];
してユーザーの IP アドレスを取得し、これに基づいてこのリンクを使用して、要件GEOIPに従ってさらに進めることができます。
于 2012-10-12T11:10:22.507 に答える