【问题标题】:Get the ID of an imgur image获取 imgur 图像的 ID
【发布时间】:2015-01-16 04:49:12
【问题描述】:

以下是一些 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 specifically asks for the IDs2Bqq26xcQUF 等),但据我所见,无法获取给定链接的图像 ID。

所以我的问题是,我将如何使用 PHP 获取任何 imgur 链接的 ID?

【问题讨论】:

    标签: php imgur


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      通过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

      【讨论】:

      • substr() 位对于没有扩展名或扩展名不完全是三个字符的链接将无法正常工作。
      【解决方案3】:

      获取路径的最后一个组件并删除其上的任何扩展。

      一种方法:

      $id = pathinfo($url, PATHINFO_FILENAME);
      

      【讨论】:

        猜你喜欢
        • 2021-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-09
        相关资源
        最近更新 更多