【发布时间】:2014-12-13 13:07:11
【问题描述】:
您好,我有一个这样的链接:
mypage.php?product=3&page=1
我想删除 &page=1, &page=2, &page=5 等等。 这个我试过了,但我觉得不对。
str_replace('/(\\?|&)page=.*?(&|$)/', '', $link);
感谢您的帮助。
【问题讨论】:
标签: php regex str-replace
您好,我有一个这样的链接:
mypage.php?product=3&page=1
我想删除 &page=1, &page=2, &page=5 等等。 这个我试过了,但我觉得不对。
str_replace('/(\\?|&)page=.*?(&|$)/', '', $link);
感谢您的帮助。
【问题讨论】:
标签: php regex str-replace
str_replace() 不适用于正则表达式,因此您可以改用preg_replace():
$url = preg_replace('/[?&]page=[^&]+/', '', $url);
这里有两个变化:首先,当您仅针对单个符号时,最好使用字符类而不是交替(不必在括号内转义 ? 是一个不错的奖励),第二,[^&]+ ('match任意数量的非&字符') 结构比.+?(&|$) 更直接和可读。
【讨论】: