嗨我有这样的链接:
mypage.php?product=3&page=1
我想删除& page = 1,& page = 2,& page = 5等等。 我试过这个,但我认为这不对。
str_replace('/(\\?|&)page=.*?(&|$)/', '', $link);
感谢您的帮助。
答案 0 :(得分:2)
str_replace()
不能使用正则表达式,因此您需要使用preg_replace()
代替:
$url = preg_replace('/[?&]page=[^&]+/', '', $url);
这里有两个变化:首先,当你只针对单个符号时(不必在括号内转义?
是一个很好的奖励),最好使用一个字符类而不是替换,第二, [^&]+
('匹配任意数量的非&字符')构造比.+?(&|$)
构造更直接,更易读。