Php 获取imgur映像的ID

Php 获取imgur映像的ID,php,imgur,Php,Imgur,以下是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(s2Bqq,26xcQUF,等等),但从我所看到的情况来看,无法通过链接获取图像的ID 所以我的问题是,如何使用PHP获取任何imgur链接的ID?获取路径的最后一个组件并删除其上的任

以下是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(
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);

Live:

这可以使用正则表达式来完成

一个简单的例子是
^.+/([^/]+)(\.[^/]+)?$
,它匹配url的最后一部分,减去存在的任何扩展名

要在PHP中使用它,
preg\u match('.^.+/([^/]+)(\..[^/]+)?$#',$url,$matches)
$matches[1]
将具有id。

对于没有扩展名或扩展名不到三个字符的链接,
substr()
位将无法正常工作。