首頁 >後端開發 >php教程 >如何可靠地偵測 PHP 中的瀏覽器語言以提供正確的頁面?

如何可靠地偵測 PHP 中的瀏覽器語言以提供正確的頁面?

Barbara Streisand
Barbara Streisand原創
2024-12-09 09:44:06384瀏覽

How Can I Reliably Detect Browser Language in PHP to Serve the Correct Page?

偵測PHP 中的瀏覽器語言變得強大

您已嘗試在PHP 腳本中根據瀏覽器的語言自動包含適當的頁面。但是,該腳本在某些瀏覽器中運作不正常,並始終顯示「index_en.php」頁面。要解決此問題並增強解決方案的可靠性,請考慮實施以下改進:

應修改 lixlpixel_get_env_var($Var) 以處理可能已設定 $GLOBALS[$Var] 的環境。

不要使用 strpos 迭代搜尋接受的語言,而是將 HTTP_ACCEPT_LANGUAGE 標頭解析為數組並檢查是否有匹配。

考慮將可用語言儲存在資料庫或其他結構化資料來源中,而不是依賴硬編碼數組。

實作更強大的回退機制,包括語言優先權清單或重新導向到語言選擇頁面。

簡化版替代

為了更簡單的方法,您可以使用以下腳本:

    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $acceptLang = ['fr', 'it', 'en']; 
    $lang = in_array($lang, $acceptLang) ? $lang : 'en';
    require_once "index_{$lang}.php"; 

此腳本保留使用HTTP_ACCEPT_LANGUAGE 標頭檢測瀏覽器語言並載入對應的預期功能“index_xx.php”頁面。它使用 PHP 的本機 substr 函數來擷取語言程式碼的前兩個字元。 $acceptLang 陣列定義接受的語言。如果偵測到的語言與陣列中的一種匹配,則使用它;否則,'en' 被假定為預設值。 require_once 語句包含基於偵測到的語言的適當的「index_xx.php」檔案。

以上是如何可靠地偵測 PHP 中的瀏覽器語言以提供正確的頁面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn