使用PHP从URL获取第一个目录

使用PHP从URL获取第一个目录,php,parsing,url,Php,Parsing,Url,我在变量中有url,如下所示: $url = 'http://mydomain.com/yep/2014-04-01/some-title'; 然后我想从中解析“yep”部分。我试着这样做: $url_folder = strpos(substr($url,1), "/")); 但出于某种原因,它会返回一些数字。我做错了什么?使用,尝试以下方法: $url = 'http://mydomain.com/yep/2014-04-01/some-title'; $urlParts = explo

我在变量中有url,如下所示:

$url = 'http://mydomain.com/yep/2014-04-01/some-title';
然后我想从中解析“yep”部分。我试着这样做:

$url_folder = strpos(substr($url,1), "/"));
但出于某种原因,它会返回一些数字。我做错了什么?

使用,尝试以下方法:

$url = 'http://mydomain.com/yep/2014-04-01/some-title';
$urlParts = explode('/', str_ireplace(array('http://', 'https://'), '', $url));
echo $urlParts[1];

首先,
子字符串(…,1)
将返回到位置1之后的所有内容。所以这不是你想做的

所以
http://mydomain.com/yep/2014-04-01/some-title
变为
ttp://mydomain.com/yep/2014-04-01/some-title

然后,在位置1之后的每件事上都要执行strpos,寻找第一个
/
。。。(这将是
ttp://mydomain.com/yep/2014-04-01/some-title
)。函数
strpos()
将返回它的位置(编号)。因此,它将向您返回编号
4

而是使用
explode()

使用函数

$url = 'http://mydomain.com/yep/2014-04-01/some-title';
$url_array = parse_url($url);
preg_match('@/(?<path>[^/]+)@', $url_array['path'], $m);
$url_folder = $m['path'];
echo $url_folder;
$url='1!'http://mydomain.com/yep/2014-04-01/some-title';
$url\u array=parse\u url($url);
preg_match('@/(?[^/]+)@',$url_数组['path'],$m);
$url_folder=$m['path'];
echo$url\u文件夹;

如果url只是
www.domain.com/yep/2014-04-01/some title
,该怎么办?是的,这似乎很管用。谢谢我相信万维网并不重要,因为它只“爆炸”了另一个协议的/parts,比如
http
https
,比如
ftp
?@ShankarDamodaran OP没有指出这一点。但是如果你想,那么使用
parse\uurl($url,PHP\uurl\upath)@Manoj-Yadav无限数组,嗯?
$url = 'http://mydomain.com/yep/2014-04-01/some-title';
$url_array = parse_url($url);
preg_match('@/(?<path>[^/]+)@', $url_array['path'], $m);
$url_folder = $m['path'];
echo $url_folder;