[精讚] [會員登入]
2792

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

你可能感興趣的文章

[PHP] 解析二進位圖片 使用php來解析png圖片,把資料寫在16進位格式

[PHP] CodeIgniter 3+pure+smarty安裝及環境設置1/2 PHP framework CodeIgniter 3+ pure CSS +smarty Template Engine的整合

[PHP] UTF8中取出字串中特定的字數 要將字串,例如資料庫取出的TEXT,取出特定的字數

[PHP8] 使用autoload autoload+ namespace +use 到了php7之後,namespace和use越來越重要,此篇整理autoload和namespace、use的結合使用。

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

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

隨機好文

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

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用

Linux shell 的date表示法 linux下SHELL中的date表示法

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

TFTP Server 安裝及使用 讓設備的網路設定檔或是韌體經由TFTP拷備出來,操作的方法