Пример:
http://www.dailymotion.com/video/x4xvnz_the-funny-crash-compilation_fun
Как мне получить x4xvnz?
x4xvnz
Вы можете использовать basename [документы] , чтобы получить последнюю часть URL, а затем strtok [документы] для получения идентификатора (все символы до первого _):
basename
strtok
_
$id = strtok(basename($url), '_');
/video\/([^_]+)/
должен сделать свое дело.При первом захвате захватывается весь текст после video/ до первого _.
video/
preg_match('#<object[^>]+>.+?http://www.dailymotion.com/swf/video/([A-Za-z0-9]+).+?</object>#s', $dailymotionurl, $matches); // Dailymotion url if(!isset($matches[1])) { preg_match('#http://www.dailymotion.com/video/([A-Za-z0-9]+)#s', $dailymotionurl, $matches); } // Dailymotion iframe if(!isset($matches[1])) { preg_match('#http://www.dailymotion.com/embed/video/([A-Za-z0-9]+)#s', $dailymotionurl, $matches); } $id = $matches[1];
Я использую это:
function getDailyMotionId($url) { if (preg_match('!^.+dailymotion\.com/(video|hub)/([^_]+)[^#]*(#video=([^_&]+))?|(dai\.ly/([^_]+))!', $url, $m)) { if (isset($m[6])) { return $m[6]; } if (isset($m[4])) { return $m[4]; } return $m[2]; } return false; }
Может обрабатывать различные URL:
$dailymotion = [ 'http://www.dailymotion.com/video/x2jvvep_coup-incroyable-pendant-un-match-de-ping-pong_tv', 'http://www.dailymotion.com/video/x2jvvep_rates-of-exchange-like-a-renegade_music', 'http://www.dailymotion.com/video/x2jvvep', 'http://www.dailymotion.com/hub/x2jvvep_Galatasaray', 'http://www.dailymotion.com/hub/x2jvvep_Galatasaray#video=x2jvvep', 'http://www.dailymotion.com/video/x2jvvep_hakan-yukur-klip_sport', 'http://dai.ly/x2jvvep', ];
Проверьте мой github (https://github.com/lingtalfi/video-ids-and-thumbnails/blob/master/testvideo.php),. Я предоставляю функции для получения идентификаторов (а также миниатюр) с YouTube, Vimeo и Dailymotion.
<?php $output = parse_url("http://www.dailymotion.com/video/x4xvnz_the-funny-crash-compilation_fun"); // The part you want $url= $output['path']; $parts = explode('/',$url); $parts = explode('_',$parts[2]); echo $parts[0];
http://php.net/manual/en/function.parse-url.php