gpt4 book ai didi

PHP;从查询字符串中删除单个变量值对

转载 作者:可可西里 更新时间:2023-11-01 12:24:53 25 4
gpt4 key购买 nike

我有一个页面根据众多参数(即带值的变量)列出项目。

listitems.php?color=green&size=small&cat=pants&pagenum=1 etc.

为了启用列表的编辑,我有一个参数 edit=1 附加到上面的查询字符串以提供:

listitems.php?color=green&size=small&cat=pants&pagenum=1&edit=1

到目前为止一切顺利。

当用户完成编辑时,我有一个退出编辑模式的链接。我希望此链接指定整个查询字符串——不管它是什么,因为这取决于用户的选择——除了删除 edit=1。

当我只有几个变量时,我只是在链接中手动列出它们,但现在有更多变量,我希望能够以编程方式删除 edit=1。

我是否应该搜索 edit=1 然后什么都不替换?

$qs = str_replace("&edit=1, "", $_SERVER['QUERY_STRING']);
<a href='{$_SERVER['PHP_SELF']}?{$qs}'>return</a>;

或者最干净、最无错误的方法是什么。

注意:当我从一个页面转到另一个页面时,我也有类似的情况,我想取出 pagenum 并将其替换为不同的 pagenum。在那里,由于 pagenum 不同,我不能只搜索 pagenum=1,而是必须搜索 pagenum =$pagenum 如果有任何不同的话。

谢谢。

最佳答案

我会使用 http_build_query ,它很好地接受了一组参数并正确地格式化了它。您可以从 $_GET 取消设置编辑参数并将其其余部分推送到此函数中。

请注意,您的代码缺少对 htmlspecialchars() 的调用。 URL 可以包含 HTML 中的事件字符。所以输出到链接时:Escape!

一些例子:

unset($_GET['edit']); // delete edit parameter;
$_GET['pagenum'] = 5; // change page number
$qs = http_build_query($_GET);

... output link here.

关于PHP;从查询字符串中删除单个变量值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17122563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com