关于正则表达式:PHP 正则表达式 – 之后忘记一切?

PHP Regular expression - forget everything after?

本问题已经有最佳答案,请猛点这里访问。

我有这个网址:http:www.blabla.com/x/x/x/x?username=testuser
我需要一个字符串来读取这个 url,但忘记了所有内容,包括 ? 标记。
所以它变成了这样:http:www.blabla.com/x/x/x/x

之所以会这样,是因为我在做这个变量:

1
$host = $_SERVER['SERVER_NAME']  . $_SERVER['REQUEST_URI'];

还有这段代码:

1
2
3
if($host =="http:www.blabla.com/x/x/x/x") {
    echo"lul";
}

但是现在,URL 会根据用户所在的位置而变化,并且无论用户所在的位置如何,它都必须执行 echo

所以我读了一些reges和preg_match等,我只是想听听你的意见或建议。我将如何完成这个最好?谢谢!


这对正则表达式来说太琐碎了。

1
$host = $_SERVER['SERVER_NAME'] . explode("?", $_SERVER['REQUEST_URI'], 2)[0];

(注意:这假设您是最新的,或者至少使用 PHP 5.4,以便取消引用在没有临时变量的情况下工作)


或者,如果您必须省略 get / request 部分,那么就会爆炸?并使用 $host[0]