2010年8月19日 星期四

如何取得youtube縮圖及id

本來想要每個禮拜都來寫個文章的!結果又偷懶! 哈!又累積好多東西沒寫了,算了,不重要! 今天為了寫出這個網址上的效果http://www.artofchineseliving.com/video 想要利用fancybox顯示youtube影片, 千找萬找!終於讓我找到直接embed的方法(非常的簡單!) 網址只要輸入 [http://www.youtube.com/v/影片id] 即可 可是事實上一般使用者所看到的網址都是 http://www.youtube.com/watch?v=影片id 為了讓使用者在後端方便輸入,並減少資料庫的空間,就寫了一支php程式來取得影片id

function video_id($url)
{
    $parse_url = parse_url($url);
    $query = [];
    parse_str($parse_url['query'], $query);
    if (! empty($query['v'])) {
        return $query['v'];
    }

    $t = explode('/', trim($parse_url['path'], '/'));
    foreach ($t as $k => $v) {
        if ($v == 'v') {
            if (! empty($t[$k + 1])) {
                return $t[$k + 1];
            }
        }
    }

    return $url;
}

echo $video_id = video_id("http://www.youtube.com/watch?v=vXz7O245Row");
echo video_id;
//應該會回傳vXz7O245Row,只要將這一串id存入資料庫即可


//在取出的時候就可以做一些應用及變化了
//直接連到youtube
echo sprintf('link',$video_id);

//利用swfobject embed
echo sprintf('new SWFObject("http://www.youtube.com/v/%s", "mymovie", "425", "356", "8", "#ffffff");',$video_id);

//取得縮圖
echo sprintf('',$video_id);