我需要从iTunes网址获取商品ID,并且在itunes更改网址结构之前它曾经像这样工作;
$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删除了网址中的'id'前缀,所以上面的代码不再返回id了,有没有人知道解决方案?
old itunes url; https://itunes.apple.com/album/the-endless-bridge-single/id1146508518?uo=1&v0=9989
new itunes url; https://itunes.apple.com/album/the-endless-bridge-single/1146508518?uo=1&v0=9989
答案 0 :(得分: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 。
希望这有帮助! :)
答案 1 :(得分:1)
使用正则表达式:
<?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
答案 2 :(得分:0)
看起来您可以简单地使用parse_url
和basename
的组合,例如
$musicid = basename(parse_url($musicid, PHP_URL_PATH));