如何检查网址中的具体单词?

时间:2015-12-03 07:36:22

标签: php url yii

假设我有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

3 个答案:

答案 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! :-)
}

https://regex101.com/r/jZ0pL1/1

答案 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',请使用此检查所请求的网址,这就是您想要的...