我有一个php页面,想要编写一个基于当前URL的链接。像这样:
$alias = substr(strrchr($_SERVER['REQUEST_URI'], "/"), 1);
print '<a href="'.$alias.'&sort=name">Sort by Name</a>';
在http://domain.com/listings页面上,该链接会写入http://domain.com/listings&sort=name,效果非常好。
但是当我在页面http://domain.com/listings&sort=name上时,页面上的链接会写入http://domain.com/listings&sort=name&sort=name。此外,如果我点击其他排序链接之一,我将以http://domain.com/listings&sort=name&sort=comments结束。
这是愚蠢的。有没有更好的方法来生成我的链接?或者我应该在重复使用它之前做些什么来清理$别名?复杂性:有一些变量(如&category=34
和&title=spa
)我 想要从URL中删除,所以我不能只将它清理回{ {1}}。
(我正在使用Drupal,如果内置的秘密变量也很酷。)
答案 0 :(得分:1)
一个常见的策略是执行以下操作:
http_build_query(array_merge($_GET, array("sort" => "name")))
计算新的查询字符串。