繁体   English   中英

从网址获取第二个细分

[英]Get second segment from url

如何在没有斜杠的情况下获取URL中的第二个段? 例如,我有一个像这样的URL

http://foobar/first/second

如何获得“第一”的价值?

使用parse_url从URL获取路径,然后使用explode将其拆分为其段:

$uri_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$uri_segments = explode('/', $uri_path);

echo $uri_segments[0]; // for www.example.com/user/account you will get 'user'
$segments = explode('/', trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));

举个例子http://domain.com/first/second

$segments = explode('/', trim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH), '/'));
$numSegments = count($segments); 
$currentSegment = $segments[$numSegments - 1];

echo 'Current Segment: ' , $currentSegment;

会导致当前细分:第二

您可以更改numSegments -2以获得第一个

这是我在Gumbo的答案启发下汲取最后一段的冗长方式:

// finds the last URL segment  
$urlArray = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', $urlArray);
$numSegments = count($segments); 
$currentSegment = $segments[$numSegments - 1];

如果你愿意的话,你可以把它分成两行,但这样就可以很明显地表达你的意思,即使没有评论也是如此。

获得$currentSegment ,您可以将其回显或在if / else或switch语句中使用它,根据最终段的值执行任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM