【问题标题】:How to get the ID from itunes url?如何从 iTunes 网址获取 ID?
【发布时间】:2017-11-08 02:17:39
【问题描述】:

我需要从 iTunes url 获取项目 ID,并且在 iTunes 更改 url 结构之前它曾经像这样工作;

$musicid = 'https://itunes.apple.com/album/the-endless-bridge-single/id1146508518?uo=1&v0=9989';
$musicid=explode('/id',$musicid);
$musicid=explode('?',$musicid[1]);
echo $musicid[0];

但是现在 iTunes 已经删除了 url 中的 'id' 前缀,所以上面的代码不再返回 id,有人知道解决办法吗?

旧版 iTunes 网址; https://itunes.apple.com/album/the-endless-bridge-single/id1146508518?uo=1&v0=9989

新的 iTunes 网址; https://itunes.apple.com/album/the-endless-bridge-single/1146508518?uo=1&v0=9989

【问题讨论】:

    标签: php itunes


    【解决方案1】:

    你会在第四个斜线处爆炸,抓住第五个部分。

    只需从/id 中删除id(这样您就可以在/ 上使用explode()),并检查第六个索引而不是第二个索引(使用[5] 而不是[1]):

    <?php
    
    $musicid = 'https://itunes.apple.com/album/the-endless-bridge-single/1146508518?uo=1&v0=9989';
    $musicid = explode('/', $musicid);
    $musicid = explode('?', $musicid[5]);
    echo $musicid[0]; // 1146508518
    

    这可以看到 here

    希望这会有所帮助! :)

    【讨论】:

      【解决方案2】:

      使用正则表达式:

      <?php
      $url = 'https://itunes.apple.com/album/the-endless-bridge-single/1146508518?uo=1&v0=9989';
      
      preg_match('/album\/[^\/]+\/(\d+)\?/', $url, $matches);
      
      var_dump($matches[1]);
      

      在这里演示:https://3v4l.org/tF9pS

      【讨论】:

        【解决方案3】:

        看起来你可以简单地使用parse_urlbasename的组合,例如

        $musicid = basename(parse_url($musicid, PHP_URL_PATH));
        

        演示~https://eval.in/895029

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-28
          • 2011-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多