我在变量中有这样的url:
$url = 'http://mydomain.com/yep/2014-04-01/some-title';
然后,我想要的是从它中解析出“yep”部分。我试着这样做:
$url_folder = strpos(substr($url,1), "/"));
但由于某种原因,它会返回一些数字。我做错了什么?
发布于 2014-05-12 16:37:20
首先,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"
发布于 2014-05-12 16:51:36
使用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;
https://stackoverflow.com/questions/23604326
复制相似问题