Получить ID изображения imgur

Вот несколько примеров ссылок imgur:

https://imgur.com/gallery/s2Bqq
View post on imgur.com
Japan's levitating Maglev train reaches 500km/h (311mph)
Japan's levitating Maglev train reaches 500km/h (311mph)

Imgur API специально просит удостоверение личности изображения (s2Bqq, 26xcQUFи т. д.), но из того, что я видел, никак не может получить идентификатор изображения по ссылке.

Итак, мой вопрос: как бы я, используя PHP, мог получить идентификатор любой imgur-ссылки?

1

Решение

Возьмите последний компонент пути и удалите все расширения на нем.

Один подход:

$id = pathinfo($url, PATHINFO_FILENAME);
0

Другие решения

С 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

0

Это может быть сделано с помощью регулярных выражений

Простой пример будет ^.+/([^/]+)(\.[^/]+)?$ которая соответствует последней части URL, за вычетом любого расширения.

Чтобы использовать его в PHP, preg_match('#^.+/([^/]+)(\.[^/]+)?$#', $url, $matches) а также $matches[1] будет иметь идентификатор.

0
По вопросам рекламы [email protected]