0

私はいくつかのYouTubeビデオのサムネイルを私のページに次のように引き込んでいます:

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

(Joomlaモジュールを使用して$ youtubelistでyoutubeビデオIDを提供します)

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>
4

2 に答える 2

1

あなたはこれでビデオIDを渡すことによってyoutubeビデオ情報をフェッチすることができます

$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'];
于 2012-06-11T07:00:30.227 に答える
1

このコードを使用して、特定のYouTubeビデオに関する情報を取得できます。

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

これにより、タイトル、作成者、日付、キーワードなどを含む、ビデオの完全なメタデータを含む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>
于 2012-06-11T06:57:48.697 に答える