我有多语言系统,需要从url中删除简短的默认语言环境前缀。我需要检查会话是否获得前缀:
<activity
android:name=".MainActivity"
android:hardwareAccelerated="true"
>
...........
...........
</activity>
正在执行($ url),我看到以下输出:
if(Session::get('prefix')) {
$url = urldecode(http_build_query($_GET, '', '&'));
} else {
$url = ''; //This Line
}
echo $url;
//output is: url=fa/account/login
现在,如果未检测到会话前缀,则需要从网址路径中删除en/
en/account/login
en/account/dashboard
。
en
什么是最好的方法?
答案 0 :(得分:1)
您可以创建所有语言的数组。然后,您可以使用explode并使用正斜杠作为分隔符。
检查第一项是否在包含语言的数组中。如果是这样,请使用例如array_shift从child: IconTheme( .... child: Icon
中删除第一项,然后使用implode重新组装字符串。
$parts
答案 1 :(得分:0)
您可以在config / app.php中使用应用程序实现的所有语言定义一个数组。 例如,您可以将此行添加到config / app.php
$languages = ['en','fa'];
现在您可以像这样更改代码:
$url = urldecode(http_build_query($_GET, '', '&'));
if(Session::get('prefix') == null)
$url = preg_replace("/^".implode(Config::get("app.languages"),"|")."\//",'',$url);