假设我有一个youtube视频网址www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2
我想获取视频缩略图 - > i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg 我只需要一个简单的PHP脚本,我将输入$ url并获取$ img 如果可行,我想剥去所有其他参数,只留下 www.youtube.com/watch?v=B4CRkpBGQzU为$ url
答案 0 :(得分:20)
从以下网址中提取标识符:
$url = 'www.youtube.com/watch?v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2';
您可以先使用parse_url()
来获取查询字符串:
$queryString = parse_url($url, PHP_URL_QUERY);
var_dump($queryString);
在这里,会给你:
string 'v=B4CRkpBGQzU&feature=youtube_gdata&par1=1&par2=2' (length=49)
然后,使用parse_str()
从该查询字符串中提取参数:
parse_str($queryString, $params);
var_dump($params);
哪个可以获得以下数组:
array
'v' => string 'B4CRkpBGQzU' (length=11)
'feature' => string 'youtube_gdata' (length=13)
'par1' => string '1' (length=1)
'par2' => string '2' (length=1)
而且,现在,只需使用该数组中的v
项,将其注入缩略图URL:
if (isset($params['v'])) {
echo "i3.ytimg.com/vi/{$params['v']}/default.jpg";
}
给出了:
i3.ytimg.com/vi/B4CRkpBGQzU/default.jpg
答案 1 :(得分:7)
<?php
function getYoutubeImage($e){
//GET THE URL
$url = $e;
$queryString = parse_url($url, PHP_URL_QUERY);
parse_str($queryString, $params);
$v = $params['v'];
//DISPLAY THE IMAGE
if(strlen($v)>0){
echo "<img src='http://i3.ytimg.com/vi/$v/default.jpg' width='150' />";
}
}
?>
<?php
getYoutubeImage("http://www.youtube.com/watch?v=CXWSlho1mMY&feature=plcp");
?>
答案 2 :(得分:6)
$url = "http://youtube.com/watch?v=B4CRkpBGQzU";
$url = explode("&", $url);
$vidID = preg_match("|?v=(.*)|", $url);
$thumb_default = file_get_contents("http://img.youtube.com/vi/$vidID/default.jpg");
$thumb1 = file_get_contents("http://img.youtube.com/vi/$vidID/0.jpg");
$thumb2 = file_get_contents("http://img.youtube.com/vi/$vidID/1.jpg");
$thumb3 = file_get_contents("http://img.youtube.com/vi/$vidID/2.jpg");
$thumb4 = file_get_contents("http://img.youtube.com/vi/$vidID/3.jpg");
答案 3 :(得分:0)
假设youtube没有更改其格式:
$thumb = preg_match('/watch\?v=(.*)&feature/',$url, $matches);
这将为您提供$matches[1];
答案 4 :(得分:0)
从网址获取视频ID
$url = "http://www.youtube.com/watch?v=oHg5SJYRHA0&feature=relate";
parse_str( parse_url( $url, PHP_URL_QUERY ) );
echo $vidID;//this is video id
获取图片
$thumb1 = file_get_contents("http://img.youtube.com/vi/$vidID/0.jpg");
$thumb2 = file_get_contents("http://img.youtube.com/vi/$vidID/1.jpg");
$thumb3 = file_get_contents("http://img.youtube.com/vi/$vidID/2.jpg");
$thumb4 = file_get_contents("http://img.youtube.com/vi/$vidID/3.jpg");