我将在这里感谢一些帮助:
我想做的事:
从以下位置删除&itemsperpage = 10:
HTTP://localhost/thi/search/filter.html类型=功能和页面= 2&itemsperpage = 10
并从中创建一个链接:
HTTP://localhost/thi/search/filter.html类型=功能和页面= 2&itemsperpage = 15
这是我到目前为止所提出的:
<a href="<?php echo url::site(url::current()) . http_build_query($_GET) // don't know what follows ?>"
Run Code Online (Sandbox Code Playgroud)
我正在使用的框架函数是:
url :: current()=以控制器/动作格式返回当前url
url :: site()=返回绝对url即http:// localhost/site/controller/action
所以我必须从http_build_query函数中的结果字符串中删除'&itemsperpage'
但是我遇到了字符编码等问题!请帮忙!
所以这是字符编码的问题:
$needle = '&itemsperpage';
$querystring = http_build_query($_GET) . '<br/>';
// echo $querystring . '<br/>';
$pos = strpos($querystring, $needle);
$remove = substr($querystring, ((int)$pos));
echo substr(str_replace($remove, '', $querystring), 1); // returns ';'
Run Code Online (Sandbox Code Playgroud)
我无法从http_build_query的结果中删除字符串'&itemsperpage',它是:'type = featured&page = 2&itemsperpage = 10',函数如strstr输出什么
我会这样做:
$array = $_GET;
$array['itemsperpage'] = 15;
Run Code Online (Sandbox Code Playgroud)
然后只使用你的代码,但使用新的变量(和?):
<a href="<?php echo url::site(url::current()) . '?' . http_build_query($array)">
Run Code Online (Sandbox Code Playgroud)