PHP-如何从URL中删除分页页面变量?
我正在尝试从URL中删除分页页面ID。例如,我的URL如下所示:PHP-如何从URL中删除分页页面变量?,php,preg-replace,Php,Preg Replace,我正在尝试从URL中删除分页页面ID。例如,我的URL如下所示: $urlVal = "http://192.168.1.233/sitename/property-list?page=13&page=11&sproperty=for sale&srooms=1,10&scity=&scountry=&lat=31.0000000&long=35.0000000&sprice=100,100000"; 如果URL中有匹配项,则要删
$urlVal = "http://192.168.1.233/sitename/property-list?page=13&page=11&sproperty=for sale&srooms=1,10&scity=&scountry=&lat=31.0000000&long=35.0000000&sprice=100,100000";
如果URL中有匹配项,则要删除:
1. page=1
2. page=1&page=2
3. page=1&page=2$page=3
4. page=1&page=2$page=3$page=4
在我当前的分页代码中,每次更改页面时,上一页都会合并,这就是我要删除所有页面的原因
我已经使用了这个代码,但效果不好
$urlVal = "http://192.168.1.233/sitename/property-list?page=13&page=11&sproperty=for sale&srooms=1,10&scity=&scountry=&lat=31.0000000&long=35.0000000&sprice=100,100000";
//$getUrl =$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
$parts = parse_url($urlVal);
$urlVar = "";
$urlVar = $parts['query'];
echo $urlVar = preg_replace('/page=[0-9]&+/', '', $urlVar);
请在此处尝试我的代码:
我希望你明白我想做什么
谢谢。试试这个
$urlVal = "http://192.168.1.233/sitename/property-list?page=13&page=11&sproperty=for sale&srooms=1,10&scity=&scountry=&lat=31.0000000&long=35.0000000&sprice=100,100000";
$parts = parse_url($urlVal);
parse_str($parts['query'], $query);
unset($query['page']);
$newUrl = "{$parts['scheme']}://{$parts['host']}{$parts['path']}?" . http_build_query($query);
echo $newUrl;
// Regx Pattern
echo preg_replace('/&?page=[0-9]+&?/', '', $parts['query']);
使用数字的串联作为页值如何
$urlVal = "http://192.168.1.233/sitename/property-list?page=11,13&etc..."
它缩短了url并使删除参数变得简单:
$urlVar = preg_replace('/page=[0-9,]+&/', '', $urlVar);
您可以使用以下方法从url中提取它们:
preg_match("/page=([0-9,]+)&/", $urlVal, $m);
$pages = explode(",", $m[1]);