Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如何从URL中删除分页页面变量?_Php_Preg Replace - Fatal编程技术网

PHP-如何从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中有匹配项,则要删

我正在尝试从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中有匹配项,则要删除:

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]);