示例:
http://www.dailymotion.com/video/x4xvnz_the-funny-crash-compilation_fun
如何获得x4xvnz
?
答案 0 :(得分:7)
您可以使用basename
[docs]获取网址的最后一部分,然后使用strtok
[docs]获取ID(所有字符直到第一个_
):
$id = strtok(basename($url), '_');
答案 1 :(得分:4)
/video\/([^_]+)/
应该做的伎俩。这是第一次捕获video/
之后的所有文本,直至第一个_
。
答案 2 :(得分: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];
答案 3 :(得分: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;
}
它可以处理各种网址:
$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获取id(以及缩略图)的功能。
答案 4 :(得分: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];