我在搜索结果中添加了一个按钮,可以从结果中排除特定类别(只需将&cat=-22
添加到当前网址)。
我正在尝试找出一种方法来添加另一个按钮以从当前网址“移除”查询(即http://host/?s=test&cat=-22
将最终成为http://host/?s=test
)。
如果可能的话,它只需要删除指定的文本,因为查询可能并不总是在URL的末尾,即可以
http://host/?s=test&cat=-22&orderby=post_modified&order=desc
或
http://host/?s=test&orderby=post_modified&order=desc&cat=-22
我已经尝试调整此处和其他地方列出的几种方法,但最终只删除了“猫”,如果由于某种原因用户在搜索特定类别时点击链接,那就不是很好了,即
http://host/?s=test&orderby=post_modified&order=desc&cat=2
成为
http://host/?s=test&orderby=post_modified&order=desc
点击链接时。
希望有意义!
非常感谢任何帮助!
麦克
答案 0 :(得分:0)
我今天写了这篇文章,我想你可以根据自己的需要进行调整。
它的作用是接受$ _SERVER ['query_string']作为$ string,然后输入你要删除的$ key和$ value。
public function removeGetVariable($string, $key)
{
parse_str($string, $variables);
unset($variables[$key]);
return http_build_query($variables);
}