2011-06-28 51 views

Trả lời

7

Bạn có thể sử dụng basename[docs] để có được những phần cuối cùng của URL và sau đó strtok[docs] để có được ID (tất cả các nhân vật lên đến _ đầu tiên):

$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\/([^_]+)/ 

nên làm các trick. Điều này lấy trong lần chụp đầu tiên tất cả văn bản sau video/ cho đến _ đầu tiên.

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

tôi sử dụng này:

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

Nó có thể xử lý các url khác nhau:

$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', 
]; 

Kiểm tra github của tôi (https://github.com/lingtalfi/video-ids-and-thumbnails/blob/master/testvideo.php), tôi cung cấp các chức năng để lấy id (và cả hình thu nhỏ) từ youtube, vimeo và dailymotion.

Các vấn đề liên quan