如何获取和更改 URL 变量 PHP

2022-08-30 16:17:53

嗨,任何人都可以帮我这个我有一个URL,就像

parent/child/a=1&b=2$c=3

然后我有一个链接,可以将变量添加到该URL

<a href="<?php echo $_SERVER["REQUEST_URI"]."&d=test1";?>">LINK 1</a>
<a href="<?php echo $_SERVER["REQUEST_URI"]."&d=test2";?>">LINK 2</a>

每次我点击我的链接,变量d到URL继续复制,就像这样

parent/child/a=1&b=2&c=3&d=test2&d=test2&d=test2&d=test1&d=test1

我知道$_SERVER[“REQUEST_URI”]不断获得当前的URL,这就是我得到这个结果的原因。我已经尝试了$_SERVER[“”]的一些属性。我喜欢的是改变d变量值,任何想法如何做到这一点。任何回应都非常感谢。谢谢!


答案 1
$query = $_GET;
// replace parameter(s)
$query['d'] = 'new_value';
// rebuild url
$query_result = http_build_query($query);
// new link
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?<?php echo $query_result; ?>">Link</a>

答案 2

尝试使用以下表达式,它应该有效

preg_replace("#&d=.*&#", '&d=newvalue&', $_SERVER['REQUEST_URI'])

推荐