下面是imgur链接的一些例子:
https://imgur.com/gallery/s2Bqq
https://i.imgur.com/26xcQUF.jpg
http://i.imgur.com/rfw7jrU.gif
http://i.imgur.com/rfw7jrU.gifv
该imgur API 特别要求的ID图像(的s2Bqq
, 26xcQUF
,等等),但没有提供一种方式,从我所看到的东西,拿到给个链接的图像的ID。
所以我的问题是,我将如何使用PHP,得到任何imgur链接的ID?
采取的路径的最后一个组件,并删除它的任何扩展。
一种方法:
$id = pathinfo($url, PATHINFO_FILENAME);
随着parse_url()
你可以得到所有的信息:
print_r(parse_url('https://i.imgur.com/26xcQUF.jpg'));
Array
(
[scheme] => https
[host] => i.imgur.com
[path] => /26xcQUF.jpg
)
在这种情况下只是做:
echo substr( $array['path'],1,-4);
直播: http://ideone.com/0N6cmj
这也可能会被使用正则表达式完成
一个简单的例子是^.+/([^/]+)(\.[^/]+)?$
该URL的最后部分,减去存在的任何扩展名匹配。
在PHP中,使用preg_match('#^.+/([^/]+)(\.[^/]+)?$#', $url, $matches)
和$matches[1]
将有ID。