我尝试从网址中删除分页页面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);
在此处试用我的代码:http://codepad.org/lSHV7a7w
我希望你明白我要做的事。
感谢。
答案 0 :(得分:0)
试试这个。
$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']);
答案 1 :(得分:0)
如何使用数字串联作为页面值?
$urlVal = "http://192.168.1.233/sitename/property-list?page=11,13&etc..."
缩短网址并简化删除参数:
$urlVar = preg_replace('/page=[0-9,]+&/', '', $urlVar);
您可以使用以下命令从网址中提取它们:
preg_match("/page=([0-9,]+)&/", $urlVal, $m);
$pages = explode(",", $m[1]);