[精讚] [會員登入]
2515

PHP判斷對方瀏覽器語系

多語系的網頁應該主動偵查瀏覽器的語系,配合使用者跳出合適的語系。

分享此文連結 //n.sfs.tw/13556

分享連結 PHP判斷對方瀏覽器語系@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-22 06:03:08 最後編修
2019-10-01 09:44:53 By 張○○
 

自動目錄

多語系的網頁應該主動偵查使用者瀏覽器的語系,而不是被動的由使用者切換語系。

此篇參考[1]的說明,自己做個筆記。

檢查使用者瀏覽器的語系

PHP讀取系統變數

$_SERVER['HTTP_ACCEPT_LANGUAGE'];

zh-TW,zh;q=0.8,en-US;q=0.5,en;q=0.3

對照我FIREFOX中的設定

所以最優先的是zh-TW

 

PHP執行時判斷

引用[1]的程式碼,交給PHP執行時判斷

$supportedLangs = array('en-GB', 'fr', 'de');
$languages = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
foreach($languages as $lang)
{
	if(in_array($lang, $supportedLangs))
	{
                // Set the page locale to the first supported language found 遇到第一個支援的語系
		$page->setLocale($lang);
                break;
	}
}

第9行設定你的網站語系,實際寫法由你的程式決定。

 

參考資料

[1] DZONE https://dzone.com/articles/automatically-detect-browser

END

你可能感興趣的文章

[CodeIgniter 3] COOKIE的使用 PHP CodeIgniter 3 中COOKIE的使用超簡單

[PHP] 取得檔名和路徑:basename, dirname 由絕對路徑取的路徑及檔名的方法

[PHP] preg_match 的貪婪和不貪婪比對 在php preg_match中預設是採用貪婪比對,太貪婪反而不符合需要,因此得採用「非貪婪比對」...

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI

[PHP] IPv6檢查IP是否在某個網段內 mtachcidr6 要檢查IPv6是否在某個IPv6的網段內?

[PHP] 使用browscap檢查瀏覽器版本 使用PHP內建函數browscap檢查瀏覽器版本

隨機好文

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

海棉寶寶超泡杯演奏的sweet victory 章魚哥和海棉寶寶在超泡杯的演奏歌曲

此一時彼一時 我是不是易怒的人,其實我也不知道,總之我常會失控,不知道自己在幹嘛。這近生活過得浮浮的,不是很踏實,總會想太多,我甚至會