2012-06-11 32 views
0

我拉在一些YouTube视频缩略图到我的网页有以下几点:拉YouTube视频的标题为

<img src="http://i3.ytimg.com/vi/<?php echo $youtubelist[$i];?>/default.jpg"></img> 

(使用一个Joomla模块来提供YouTube视频的ID在$ youtubelist)

随着youtube缩略图,我也想拉入youtube视频'标题'&'描述'。

我该怎么做?

感谢

[编辑下面]

这是我的代码&我希望把标题标签上面:

<?php 
$youtubelist = explode(',', $youtubecode); 
$numyoutube  = count($youtubelist); 
//Get duplicate module or not 
$a=1; 
foreach ($list as $item) : 
    //$total=$a; 
    $enddbid = $item->id; 
     if ($ytslide==$enddbid) {$nummod=$a;} 
    $a++; 
endforeach; 
?> 
<div id="videos"> 
    <div style="padding-left: 2px; padding-right: 2px;padding-bottom:2px;"> 
    <?php for ($i=0; $i<$numyoutube; $i++) { ?> 
     <a href="#"> 
      <img src="http://i3.ytimg.com/vi/<?php echo $youtubelist[$i];?>/default.jpg"></img> 
     </a> 
    <?php } ?> 
    </div> 
</div> 
+2

阅读:您使用的是这里面的Joomla模块的YouTube API https://developers.google.com/youtube/ – Raptor

+0

... ??? –

+0

这是一个为我建立的模块 - 但开发已经消失 – user991830

回答

1

您可以获取有关使用该特定YouTube视频信息一段代码:

$url = "http://gdata.youtube.com/feeds/api/videos/$youtubeid?v=2"; 
$res = file_get_contents($url); 

This wil l将Atom XML与视频的完整元数据(包括标题,作者,日期,关键字等)一起返回。阅读响应的<title>元素以获得所需内容。所以这段代码会给你你以后:

$data = new DOMDocument(); 
$res = preg_replace('/>\s+</','><', $res); 
$root = $req->loadXML($res); 
$tnodes = $root->getElementsByTagName('title'); 
$tn = $tnodes->item(0); 
$title = $tn->firstChild->nodeValue; 

与您的代码就需要有这样的事情:

<div id="videos"> 
    <div style="padding-left: 2px; padding-right: 2px;padding-bottom:2px;"> 
    <?php 
     $data = new DOMDocument(); 
     for ($i=0; $i<$numyoutube; $i++) { 
      $url = "http://gdata.youtube.com/feeds/api/videos/" . $youtubelist[$i] . "?v=2"; 
      $res = file_get_contents($url); 
      $res = preg_replace('/>\s+</','><', $res); 
      $root = $req->loadXML($res); 
      $tnodes = $root->getElementsByTagName('title'); 
      $tn = $tnodes->item(0); 
      $title = $tn->firstChild->nodeValue; 
     ?> 
     <a href="#"> 
      <div style="float:left"> 
       <?php echo $title; ?> 
       <br/> 
       <img src="http://i3.ytimg.com/vi/<?php echo $youtubelist[$i];?>/default.jpg" /> 
      </div> 
     </a> 
    <?php } ?> 
    </div> 
</div> 
+0

谢谢...我可以做任何与URL/PHP - 只是为了抓住视频标题去我的上面的图像? – user991830

+0

不是我所知道的。前段时间我已经讨论过这个问题 - 并且必须使用XML feed来获取信息(我只需要该信息源中的一个字段,但必须解析该信息才能获取该值)。 –

+0

@PramodKumarSharma我更新了我的答案,包括代码读取标题 –

1

你可以通过视频获取YouTube视频信息id在

$video_feed = file_get_contents("http://gdata.youtube.com/feeds/api/videos/$videoid"); 
       $sxml = new SimpleXmlElement($video_feed); 

       //set up nodes 
       $namespaces = $sxml->getNameSpaces(true); 
       $media = $sxml->children($namespaces['media']); 
       $yt = $media->children($namespaces['yt']); 
       $yt_attrs = $yt->duration->attributes(); 

       //vars 
       $video_title = $sxml->title; 

       $video_description = $sxml->content; 

       $video_keywords = $media->group->keywords; 

       $video_length = $yt_attrs['seconds']; 
+0

+1使用XML! – powtac