非常新的PHP,并试图找出一些我无法理解的东西。
我在下面有一个网址,我要删除& page_number = x。必须使用函数删除page_number变量和数字,该函数将始终位于字符串的末尾。
我尝试了几个版本的preg_replace但我没有运气。
由于
答案 0 :(得分:1)
答案 1 :(得分:1)
如果是当前页面,可以这样做:
unset($_GET['page_number']);
$newStr='?'.http_build_query($_GET);
答案 2 :(得分:1)
$str = 'http://url.com/search/?location=london&page_number=1';
$str = preg_replace('/[?&]page_number=\d+/', '', $str);
答案 3 :(得分:0)
以下代码应该删除它而不使用正则表达式或昂贵的explode
:
$str = 'http://url.com/search/?location=london&page_number=1';
$cropped = substr($str, 0, strrpos($str, '&page_number='));
// $cropped is 'http://url.com/search/?location=london'
首先,它使用strrpos
查找& page_number =的最后一次出现的位置,然后使用substr
将字符串裁剪到该出现位置。
注意:这假定您要删除的参数位于末尾。