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

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

Barbara Streisand
發布: 2024-12-09 09:44:06
原創
387 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板