如何从给定的imgur URL获取ID。以下是不同类型网址的一些示例:
https://imgur.com/gallery/arP2Otg
https://i.imgur.com/ycArzxR.jpg
http://imgur.com/SyuKFYj
据我所知,身份证的长度各不相同。
先前在SE上问过一个类似的question,但它没有完美无缺。
例如,网址https://imgur.com/SyuKFYj&
不适用于该问题的答案。请注意,&
附加到网址末尾。
答案 0 :(得分:0)
我认为你试图在最后一部分中提取字符开头的字符。
preg_match('~/\K\w+(?=[^/]*$)~m', 'https://imgur.com/SyuKFYj', $id);
echo $id[0];
答案 1 :(得分:0)
我认为您的问题是,如何确定结尾字符是否是ID的一部分。据我所知,imgur ID总是奇数长度。链接有时会包含一个尾随字符来表示大小(或其他内容),因此在删除最后一个/和之间的所有内容之后。在链接中,如果长度为6、8,...
,则还需要去除结尾字符var u = 'https://i.imgur.com/ycArzxR.jpg';
var s = u.lastIndexOf('/') + 1;
var d = (u + '.').indexOf('.', s);
var id = u.substring(s, d - ((d - s + 1) % 2));