关于正则表达式: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等,我只是想听听你的意见或建议。我将如何完成这个最好?谢谢!

  • 您不需要为此使用正则表达式。只需使用 strtok(): $result = strtok($url, ‘?’);。


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

1
$host = $_SERVER[‘SERVER_NAME’] . explode(“?”, $_SERVER[‘REQUEST_URI’], 2)[0];

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

  • 这似乎是 100 升代表用户不应该回答的确切问题类型
  • @tere?ko 我的意思是引导 OP 不要将正则表达式用于不是正则表达式任务的事情。 xkcd.com/1171
  • …你可以在评论中做


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


来源:https://www.codenong.com/22733367/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?