如何在url中检查某些值

时间:2013-06-11 03:58:04

标签: php url string-search

是否可以检查网址是否包含某些值,例如,如果网址“www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/”有< strong>“en”与否。


感谢

3 个答案:

答案 0 :(得分:4)

if (in_array('en', explode('/', $url))) { 
    ...
}

答案 1 :(得分:0)

您可以使用strpos函数来查找其他字符串中出现的字符串:

喜欢这个

$url = 'www.example.com/dummy1/dummy2/dummy3/en/dummy4/tim/';

if (strpos($url,'en') !== false) {
    echo 'true';
}

答案 2 :(得分:0)

上面的答案可能正是您所寻找的,但除了搜索您的价值之外,以下是如何实际检索网址...

$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; //example.com/dummy1/dummy2/dummy3/en/dummy4/tim/
$url = $_SERVER['REQUEST_URI']; // /dummy1/dummy2/dummy3/en/dummy4/tim/

我假设你想知道用户是否在包含'en'的页面上,在这种情况下你真的不需要检查域名,所以你可能会做类似......

$contains_en = (strpos($_SERVER['REQUEST_URI'], 'en') !== false ? true : false);

你应该注意使用strpos也会返回true(实际上它会返回字符串中匹配的起始位置)如果你在url中的任何地方都有字符串en,例如单词则返回true,所以如果你'重新寻找/ en /你可以使用其他用户描述的in_array方法来检查,或者只是使用这种方法检查字符串'/ en /'