本來想要每個禮拜都來寫個文章的!結果又偷懶!
哈!又累積好多東西沒寫了,算了,不重要!
今天為了寫出這個網址上的效果http://www.artofchineseliving.com/video
想要利用fancybox顯示youtube影片,
千找萬找!終於讓我找到直接embed的方法(非常的簡單!)
網址只要輸入 [http://www.youtube.com/v/影片id] 即可
可是事實上一般使用者所看到的網址都是 http://www.youtube.com/watch?v=影片id
為了讓使用者在後端方便輸入,並減少資料庫的空間,就寫了一支php程式來取得影片id
```php
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);
```
借喵拿來用囉~
回覆刪除喵會用在 http://mt.aa.am/chatroom 裡面
稍微排版跟簡化了一下程式碼
function video_id($url) {
$parse_url = parse_url($url);
$query = array();
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;
}