Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 转换多语言函数_Php - Fatal编程技术网

Php 转换多语言函数

Php 转换多语言函数,php,Php,这是我第一次在这里问,所以如果我贴错了,不要评判我 我有这个功能来支持我的多语言 <? header('Cache-control: private'); // IE 6 FIX if(isSet($_GET['lang'])) { $lang = $_GET['lang']; // register the session and set the cookie $_SESSION['lang'] = $lang; setcookie('lang', $la

这是我第一次在这里问,所以如果我贴错了,不要评判我

我有这个功能来支持我的多语言

<?
header('Cache-control: private'); // IE 6 FIX
if(isSet($_GET['lang']))
{
    $lang = $_GET['lang'];
    // register the session and set the cookie
    $_SESSION['lang'] = $lang;
    setcookie('lang', $lang, time() + (3600 * 24 * 30));
}
else if(isSet($_SESSION['lang']))
{
    $lang = $_SESSION['lang'];
}
else if(isSet($_COOKIE['lang']))
{
    $lang = $_COOKIE['lang'];
}
else
{
    $lang = 'en';
}
switch ($lang) {
    case 'bg':
    $lang_file = 'bg.php';
    break;
    default:
    $lang_file = 'en.php';
}
define('IN_VALID',true);
include_once '_src/lang/'.$lang_file;
?>

它通过&lang=en或&lang=bg获取语言


如何将其转换为get&lang:en而不是&lang=en(如果可能)

?key1=value1&key2=value2
是标准的
应用程序/x-www-form-urlencoded
格式


要使用您的格式,您应该自己解析它,我不建议这样做。

您可以检查
isset($\u GET[“lang:en”])


但这不是建议
=
是键和值的标准分隔符。无需更改。

请正确缩进您的代码您可以通过url重写来完成,如果您知道如何使用iTunes,您给了我一个好主意,我已经通过
RewriteRule^lang:(.*)$index.php?lang=$1[NE,L]
现在我必须执行第二步,因为我使用
RewriteCond%{REQUEST\u FILENAME}-f RewriteCond%{REQUEST_FILENAME}-重写规则^(.*)$index.php?p=%%{REQUEST_URI}&%%{QUERY_STRING}[NE,L]
为了获取页面,我需要编写重写规则来获取example.com/page/setlang:en