Получить идентификатор itunes из url

Каков наилучший способ получить идентификатор из ссылки на приложение itunes?

скажем, у меня есть эта ссылка:

http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026?mt=8

http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026

Я просто хочу получить id, 457603026, используя php preg_match

Ответы

Ответ 1

Без preg_match:

$url = 'http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026?mt=8';
echo end(explode('/id', parse_url($url, PHP_URL_PATH)));

или, если хотите:

$url = 'http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026?mt=8';
$id = explode('/id', parse_url($url, PHP_URL_PATH));
echo $id[1];

Ответ 2

Используйте explode, если idxxx всегда находится в конце ссылки: -

$id = str_replace("id", "", end(explode("/", parse_url($link, PHP_URL_PATH))));

Ответ 3

попробовать:

$url = 'http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026';
preg_match("/id(\d+)/", $url, $match); 
echo $match[1]; //457603026

Ответ 4

Решение для всех типов или URL-адреса iTunes

$urls = array('http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026',
'http://itunes.apple.com/us/album/break-of-dawn/id472335316?ign-mpt=uo%3D',
'http://itunes.apple.com/us/app/monopoly-here-now-the-world/id299110947?mt=8',
'http://itunes.apple.com/es/app/revista-/id397781759?mt=8%3Futm_so%3Dtwitter',
'http://itunes.apple.com/app/id426698291&mt=8',
'http://itunes.apple.com/us/album/respect-the-bull-single/id4899',
'http://itunes.apple.com/us/album/id6655669');

foreach($urls as $url):
preg_match("/id(\d+)/", $url, $match); 
echo $match[1];
echo  '<br/>';
endforeach;

Ответ 5

Попробуйте это, а не регулярное выражение:

$url = "http://itunes.apple.com/us/app/bring-me-sandwiches!!/id457603026?mt=8";
$arr = array_pop(explode("/", $url));
$id = array_pop(array_reverse(explode("?", $arr)));
echo substr($id, 2, strlen($id));