在PHP中我添加了一个额外的URL段?按升序或降序对帖子进行排序.
<?PHP //get current URL $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; //filter URL and create sorting links if(filter_var($url,FILTER_VALIDATE_URL)) { ?> <a href="<?PHP echo $url; ?>?sort=asc">Small</a> <a href="<?PHP echo $url; ?>?sort=desc">Large</a> <?PHP } ?>
问题:每次单击链接时,URL都会重复URL段.
示例:http://mysite.com/another_segment/?sort = asc?sort = asc?sort = asc
为了禁止重复,每当我点击两个排序链接中的一个时,我如何替换URL段?我不需要用&分隔参数.符号.我期待只有一个分隔符.我在分页脚本中使用它,因此当我浏览页面时,参数需要保留在URL中.
我也试图避免使用javascript
解决方法
您应该使用以下函数删除现有URL中的“排序”键,然后追加.
function remove_querystring_var($url,$key) { $url = preg_replace('/(.*)(?|&)' . $key . '=[^&]+?(&)(.*)/i','$1$2$4',$url . '&'); $url = substr($url,-1); return $url; }
<?PHP //get current URL $url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $url = remove_querystring_var($url,"sort"); //filter URL and create sorting links if(filter_var($url,FILTER_VALIDATE_URL)) { ?> <a href="<?PHP echo $url; ?>?sort=asc">Small</a> <a href="<?PHP echo $url; ?>?sort=desc">Large</a> <?PHP } ?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。