2011-06-28 22 views

Odpowiedz

7

Można użyć basename[docs] dostać ostatnią część adresu URL, a następnie strtok[docs] aby uzyskać identyfikator (wszystkie znaki aż do pierwszego _):

$id = strtok(basename($url), '_'); 
0
<?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

4
/video\/([^_]+)/ 

powinno załatwić sprawę. To łapie w pierwszym przechwytuje cały tekst po video/ aż do pierwszego _.

2
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]; 
1

Używam tego:

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; 
} 

Obsługuje różne adresy 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', 
]; 

Sprawdź mój github (https://github.com/lingtalfi/video-ids-and-thumbnails/blob/master/testvideo.php), zapewniam funkcje do uzyskiwania identyfikatorów (i miniatur) z youtube, vimeo i dailymotion.

Powiązane problemy