显示像facebook这样的youtube视频链接的标题和说明

时间:2011-12-08 07:24:42

标签: php facebook api youtube

YouTube:获取youtube标题+图片+描述,如facebook

现在我正在使用

<?php

// Replace Youtube URLs with embed code
function embedYoutube($text)
{
$search = '%          # Match any youtube URL in the wild.
    (?:https?://)?    # Optional scheme. Either http or https
    (?:www\.)?        # Optional www subdomain
    (?:               # Group host alternatives
      youtu\.be/      # Either youtu.be,
    | youtube\.com    # or youtube.com
      (?:             # Group path alternatives
        /embed/       # Either /embed/
      | /v/           # or /v/
      | /watch\?v=    # or /watch\?v=
      )               # End path alternatives.
    )                 # End host alternatives.
    ([\w\-]{10,12})   # Allow 10-12 for 11 char youtube id.
    \b                # Anchor end to word boundary.
    %x';

$replace = '<object width="425" height="344">
    <param name="movie" value="http://www.youtube.com/v/$1?fs=1"</param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowScriptAccess" value="always"></param>
    <embed src="http://www.youtube.com/v/$1?fs=1"
        type="application/x-shockwave-flash" allowscriptaccess="always" allowFullScreen="true" width="425" height="344">
    </embed>
    </object>';

return preg_replace($search, $replace, $text);
}

$string = 'Video1'.
'http://www.youtube.com/watch?v=NLqAF9hrVbY'."\n".
'http://www.youtube.com/v/u1zgFlCw8Aw';

echo embedYoutube($string);

?>

用于嵌入youtube视频,但我想要与其一起显示的视频源的完整描述+标题+链接。 有没有人有任何答案。

2 个答案:

答案 0 :(得分:4)

可能会有点痛苦,但你可以使用Youtube feed api。这是我自己的代码的剪切:

$youtube = simplexml_load_file('http://gdata.youtube.com/feeds/api/videos/'.$youtubeID.'?v=2');
$title ='<b>Youtube:</b> '. (string) $youtube->title;

应该这样做。装载速度也很快。

答案 1 :(得分:0)

以CURL为例,从youtube API获取有关youtube视频的更多信息,此处为示例

http://gdata.youtube.com/feeds/api/videos/VS6J_XXVst0?v=2&alt=json&format=5

API http://code.google.com/apis/youtube/getting_started.html#data_api