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
|
(注意:这假设您是最新的,或者至少使用 PHP 5.4,以便取消引用在没有临时变量的情况下工作)
- 这似乎是 100 升代表用户不应该回答的确切问题类型
- @tere?ko 我的意思是引导 OP 不要将正则表达式用于不是正则表达式任务的事情。 xkcd.com/1171
- …你可以在评论中做
或者,如果您必须省略 get / request 部分,那么就会爆炸?并使用 $host[0]
来源:https://www.codenong.com/22733367/