PHP ile Tarayıcının Varsayılan Dilini Alma 1

Bir projem icin aklima gelen bu ozelligi kullanmak icin biraz arastirma yaptim, ise yarayan guzel bir fonksiyona denk geldim. Anlatim ve hazirlanan fonksiyon hosuma gittigi icin siteye link vermek ve bir nevi emeklerine tesekkur etmek, destek olmak istedim.

Benzer içerikler

Nginx php kurulumu (centos 6)

Php ile link kontrolu.!

Php: file_exists (Dosya Kontrolü)

PHP resim upload uygulamasi!

DigitalOcean VPS + Nginx + Php-fpm + mysql kurulumu (Panelsiz)

Erdem arslan (kaynak link konunun altinda) tarafindan hazirlanan fonksiyonu asagida verecegim.

Php ile kullanicinin tarayici diline gore sonuc donderir:

function get_user_lang($http_accept=null,$deflang='en')
{
$http_accept = is_null($http_accept) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : $http_accept;
$x = explode(',',$http_accept);
$lang = array();
foreach ($x as $val)
{
if(preg_match("/(.*);q=([0-1]{0,1}\.\d{0,4})/i",$val,$matches))
{
$lang[$matches[1]] = (float)$matches[2];
} else {
$lang[$val] = 1.0;
}
}

$qval = 0.0;
foreach ($lang as $key => $value) {
if ($value > $qval) {
$qval = (float)$value;
$deflang = $key;
}
}

$dlang = preg_match("/(.*)-(.*)/i",$deflang,$mlang) ? $mlang[1] : $deflang;

return strtolower($dlang);
}
# Kullanimi:
$lang = get_user_lang();
echo $lang;
# Geri donen deger
# tr, en, fr, ar, az gibi...

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.