我有这样的变量url:
$url = 'http://mydomain.com/yep/2014-04-01/some-title';
那么我想要的是解析“是”的问题。部分来自它。我这样试试:
$url_folder = strpos(substr($url,1), "/"));
但由于某种原因,它会返回一些数字。我做错了什么?
答案 0 :(得分:6)
使用explode,试试这个:
$url = 'http://mydomain.com/yep/2014-04-01/some-title';
$urlParts = explode('/', str_ireplace(array('http://', 'https://'), '', $url));
echo $urlParts[1];
答案 1 :(得分:1)
好吧,首先substr(...,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()
:
$parts = explode('/', $url);
echo $parts[3]; // yep
// $parts[0] = "http:"
// $parts[1] = ""
// $parts[2] = "mydomain.com"
// $parts[3] = "yep"
// $parts[4] = "2014-04-01"
// $parts[4] = "some-title"
答案 2 :(得分:0)
使用parse_url
功能。
$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;
答案 3 :(得分:-1)
替代方式,请检查 this 。只需获取第一个数组项。