检查路径是否在url中

时间:2011-11-30 17:18:29

标签: php

我想在网址中检查一条路径。我将如何隔离

'页/ morepages /' http://www.mypage.com/pages/morepages/

我已经尝试在我的网址上运行解析网址功能,然后我得到了路径。我不知道如何访问该数组中的那个键。例如..

$url = 'http://www.mypage.com/pages/morepages/';

print_r(parse_url($url));

if ($url['path'] == '/pages/morepages/') {
    echo 'This works.';
};

如果该路径存在,我想运行if条件,但我无法访问它。

7 个答案:

答案 0 :(得分:3)

如果您只是在另一个字符串中查找一个字符串,strpos()将会很好用。

echo strpos( $url, $path ) !== false ? 'Exists' : 'Does Not Exist' ;

答案 1 :(得分:2)

像字符串中的find?

if ( strpos($url['path'], '/pages/morepages/') !== false ){
//echo "this works";
}

答案 2 :(得分:2)

你去吧

$url = 'http://www.mypage.com/pages/morepages/';

    if (strpos($url, '/pages/morepages/') !== false) {
        echo "found";
    } else {
        echo "not found";
    }

答案 3 :(得分:0)

您只需使用

即可
if (parse_url($url['path'], PHP_URL_PATH) == '/pages/morepages/') {
    echo 'This works.';
} // No semicolon

尽管使用strpos()可能更好,但速度要快得多。

答案 4 :(得分:0)

只需将函数结果赋给任何变量:

$parts = parse_url($url);

if ($parts['path'] == '/pages/morepages') {
}

答案 5 :(得分:0)

Parse_url需要将某些内容返回给新的数组变量。所以使用:

$parsedUrl = parse_url($url));

if ($parsedUrl['path'] == '/pages/morepages/') {
    echo 'This works.';
};

答案 6 :(得分:0)

您没有将parse_url的输出分配给变量。 $url仍然等于字符串(parse_url返回一个数组,它不会修改传入的字符串)。

$url = parse_url($url);