Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 使用GET创建动态URL(对于a href)_Php_Url_Get - Fatal编程技术网

Php 使用GET创建动态URL(对于a href)

Php 使用GET创建动态URL(对于a href),php,url,get,Php,Url,Get,在每一页的页脚中,我都有一个页脚,页脚上有标志,可以通过GET更改语言: <a href="<?= $url.$var ?>lang=en_US"><img class="flag" src="images/us_flag.png" /><span>English</span></a> | <a href="<?= $url.$var ?>lang=fr_FR"><img cl

在每一页的页脚中,我都有一个页脚,页脚上有标志,可以通过GET更改语言:

    <a href="<?= $url.$var ?>lang=en_US"><img class="flag" src="images/us_flag.png" /><span>English</span></a> | 
    <a href="<?= $url.$var ?>lang=fr_FR"><img class="flag" src="images/fr_flag.png" /><span>Français</span></a> | 
    <a href="<?= $url.$var ?>lang=de_DE"><img class="flag" src="images/de_flag.png" /><span>Deutsch</span></a> | 
    <a href="<?= $url.$var ?>lang=zh_CN"><img class="flag" src="images/ch_flag.png" /><span>中文</span></a>
那么,如果lang参数已经存在于
$\u服务器['REQUEST\u URI']
中,我该怎么做呢?只需在链接中替换它即可


如果可能的话,一个简单有效的解决方案(每次加载页面时都会调用该解决方案)

使用以下步骤:

  • 将url中的查询参数转换为数组
  • 重写
    lang
    参数的值
  • 将数组转换为查询字符串并在url中使用
代码为:

<?php
$url = $_SERVER['REQUEST_URI'];
$parts = parse_url($url);
parse_str($parts['query'], $query);
$domain = $parts['query'];
$query["lang"] = "en_US";
?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/us_flag.png" /><span>English</span></a> | 
<?php $query["lang"] = "fr_FR"; ?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/fr_flag.png" /><span>Français</span></a> | 
<?php $query["lang"] = "de_DE"; ?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/de_flag.png" /><span>Deutsch</span></a> | 
<?php $query["lang"] = "zh_CN"; ?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/ch_flag.png" /><span>中文</span></a>

| 
| 
| 
mysite.com/folder/?status=super&number=90&lang=fr_FR&lang=en_US&lang=en_US&lang=en_US
<?php
$url = $_SERVER['REQUEST_URI'];
$parts = parse_url($url);
parse_str($parts['query'], $query);
$domain = $parts['query'];
$query["lang"] = "en_US";
?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/us_flag.png" /><span>English</span></a> | 
<?php $query["lang"] = "fr_FR"; ?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/fr_flag.png" /><span>Français</span></a> | 
<?php $query["lang"] = "de_DE"; ?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/de_flag.png" /><span>Deutsch</span></a> | 
<?php $query["lang"] = "zh_CN"; ?>
<a href="<?= $domain . "?" . http_build_query($query); ?>"><img class="flag" src="images/ch_flag.png" /><span>中文</span></a>