我在搜索结果中添加了一个按钮,用于从结果中排除特定类别(只需将&cat=-22
添加到当前url)。
我正试图找出一种方法来添加另一个按钮来"删除"当前url的查询(即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
当链接被点击时。
希望这是有意义的!
任何帮助,这将是非常感激!
迈克我今天写了这篇文章,我想您可能能够根据自己的需要进行调整。
它所做的是接受$_SERVER['query_string']作为$字符串,然后只需输入您想要删除的$key和$value。
public function removeGetVariable($string, $key)
{
parse_str($string, $variables);
unset($variables[$key]);
return http_build_query($variables);
}