假设我有3个不同的网址。所有这些都在下面说明。
1. http://www.example.com/foo/bar/index.php?id=1
2. http://www.example.com/bar/foo/index.php?id=1
3. http://www.example.com/foo/contact.php
如何检查给定网址是否包含foo作为第一个参数。
我的意思是我如何才能将第1和第3个网址设为true
,将第2个网址设为false
。
答案 0 :(得分:3)
方法1:使用parse_url():
$array = parse_url($_SERVER['REQUEST_URI']);
$path = explode('/', $array['path']);
if ($path[1]==='foo')
{
// Here ya go! :-)
}
方法2:使用正则表达式:
if (preg_match('/^http:\/\/www\.example\.com\/foo\/.*$/', $_SERVER['REQUEST_URI'])
{
// Here ya go! :-)
}
答案 1 :(得分:1)
要首先获取您的网址参数,我们需要解析您的网址
$parsedUrl = parse_url($_SERVER['REQUEST_URI']);
现在我们将它分成几部分
$params = explode('/', $parsedUrl['path']);
最后,获得第一个参数
// Getting the second key => value pair
$firstParam = $params[1];
查看所有参数
print_r($params);
答案 2 :(得分:-1)
您可以使用parse_url()
,如下所示
$arr = parse_url($url);
您将获得$arr[2]= 'foo'
,请使用此检查所请求的网址,这就是您想要的...