使用preg_match从URL中获取值

时间:2011-08-05 14:55:00

标签: php url preg-match

我有一个类似的网址:

www.yourname.mysite.com/templates/diversity/index.php

我需要获取该字符串,“Diversity”,并将其与db值匹配。我从来没有在php中使用像preg_match这样的东西,我怎么能抓住那个字符串?

3 个答案:

答案 0 :(得分:4)

您可以使用parse_url()代替正则表达式:

$url = 'www.yourname.mysite.com/templates/diversity/index.php';

$parts = parse_url($url);
$paths = explode('/', $parts['path']);
// "diversity" is in $paths[1]

为了完整起见,这里是正则表达式:

preg_match('=^[^/]+/[^/]+/([^/]+)/=', $url, $matches);
// "diversity" is in $matches[1]

答案 1 :(得分:1)

    $ex = explode("/",$_SERVER["PHP_SELF"]);
    echo $ex[2];

答案 2 :(得分:0)

您可以爆炸该字符串并获取结果数组的第三个值:

$parts = explode("/", "www.yourname.mysite.com/templates/diversity/index.php");
echo $parts[2]; // diversity