我正在做正則表達式來解析 url 并在我的網站上查找語言環境。我所做的是這段代碼:<?php$app_conf = require_once __DIR__ . '/../config/app.php';function extract_lang($avail){ $uri_lang = []; if (preg_match('/^(\/)+([a-z]{2})(\/+.*)?/', $_SERVER['REQUEST_URI'], $uri_lang)) { if (in_array($uri_lang[2], $avail)) { $_SERVER['REQUEST_URI'] = isset($uri_lang[3]) ? $uri_lang[3] : "/"; $_SERVER['HTTP_LANG'] = $uri_lang[2]; } }}if ($app_conf['extract_from_uri']) { extract_lang($app_conf['locales']);}它大部分時間都在工作,但它有錯誤。如果我給定的 url 以“en”開頭 - 它認為它是一個語言環境并使我的應用程序邏輯崩潰。導致錯誤的示例路由:https://m2.test/environmental_projects我需要以某種方式更新我的正則表達式,但我正在為此苦苦掙扎,請幫助我。在語言環境配置中我有數組'locales' => ['en', 'ru']好的路線應該看起來像https://m2.test/en/environmental_projects
添加回答
舉報
0/150
提交
取消