Получение превью картинки для видео с YouTube

В ходе Создания сайтов, иногда возникают нестандартные проблемы. Получая опыт, сталкиваясь с различными проблемами, отбирая наиболее интересные, я пишу статьи по их решению специально для Вас!

Сегодня, для одного из моих проектов, или как сейчас модно называть - Стартапов, понадобилась такая вещь, как превью видео с YouTube.

Путешествуя по просторам интернета, я натыкался на множество различных классов и методов. Большинство из них не работают, а некоторые позволяют загрузить превью видео YouTube прямо на сервер (создать файл картинки), что для меня было лишним.

Решение оказалось очень простым. С помощью регулярных выражений получаем ID видео и используя данный ID мы можем сформировать ссылку на превью видео прямо на сервер YouTube.

<?
// Можно брать как просто ссылку на видео
$video ='http://www.youtube.com/watch?v=0V6I_vfsPtA';
// Так и ссылку с Iframe
$video ='<iframe width="854" height="480" src="https://www.youtube.com/embed/0V6I_vfsPtA" frameborder="0" allowfullscreen></iframe>';
if (preg_match('/[http|https]+:\/\/(?:www\.|)youtube\.com\/watch\?(?:.*)?v=([a-zA-Z0-9_\-]+)/i', $video, $matches) || preg_match('/(?:www\.|)youtube\.com\/embed\/([a-zA-Z0-9_\-]+)/i', $video, $matches)) {
    $image = 'http://img.youtube.com/vi/'.$matches[1].'/0.jpg';
}else{
    $image = false;
}
echo $image;
?>