[精讚] [會員登入]
2406

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

你可能感興趣的文章

[phpmyadmin] 錯誤:您應升級到 MySQL 5.5.0 或更新版本 使用phpmyadmin4出現錯誤:您應升級到 MySQL 5.5.0 或更新版本的解決方式

[PHP] 處理mail 函式的標題中文字亂碼 PHP的mail函式若標題有中文字得先處理過,否則收信者會看到亂碼

[PHP7] 利用Memcached 儲存 Session Memcached+ PHP7,利用Memcached 儲存 Session。

[PHP] 字串編碼及解碼函式 為何要將字串編碼?理由很簡單,就是不要讓人家輕易的知道字串內容是什麼。例如點選分頁時,我們常會用這樣的連結: index

[PHP] 將UTF8中文字轉成10進位或16進位數值 原本為了處理 preg_match 中文字的問題[2],用php把中文字轉換成10進位和6進位的數值編碼

[PHP] 移除檔案的UTF8 BOM 移除檔案的UTF8 BOM

隨機好文

[HP DL380G7] 生效啟動第3,4片網卡/開啟或關閉內建的網卡 HP DL380G7 預設第3,4片網卡裝完系統後找不到,難道是壞了?要怎麼辦?

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

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

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

[MAC] 安裝APACHE+PHP OS Darwin OpenIDMac1deAir 15.6.0 Darwin Kernel Version 15.6.