使用PHP从URL获取第一个目录
我在变量中有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 = '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;