我正在尝试使用正则表达式来截取字符串的一部分(该字符串恰好是一个URL)。我对正则表达式有了更好的理解,但无法弄清楚如何告诉它在字符串前面或后面的内容是可选的。以下是我的代码:
$string='http://www.example.com/username?refid=22';
$new_string= preg_replace('/[/?refid=0-9]+/', '', $string);
echo $new_string;
我想要删除 ?refid=22
部分,得到 http://www.example.com/username
有什么好的方法吗?
编辑
我认为我需要使用正则表达式而不是分割字符串,因为有时候url看起来像这样 http://example.com/profile.php?id=9999&refid=22
在这种情况下,我也想删除 refid
但不获取 id=9999
%3B
来自哪里。我尝试了urldecode
。 - Brooke.unset($get[';refid']); unset($get['refid']);
这种迂回的方式解决了问题。 - Brooke.