Отправка сообщения






Добро пожаловать!

Вставка видео из youtube по ссылке (PHP)

vstavka-video-s-youtubeОдним из популярных видео-проектов в интернете на сегодняшний день является сайт youtube.com. В виду популярности проекта ссылки на видео могут быть использованы довольно часто и на других сайтах. К примеру, впролне обуздана возможность вставки видео с ютуба на других сайтах, с использованием iframe.

Рассмотрим пример, как можно автоматизировать этот процесс. Первоначально у нас будет ссылка на какое-либо видео. Мы же будет вставлять это видео на страницу, с использованием этой ссылки.

Суть в том, что нам нужно извлечь значение параметра «v» из ссылки, это и есть идентификатор видео. После этого остается лишь правильно вставить фрейм с ссылкой сформированной с помощью этого параметра.

Приступаем, для наглядности сделаем форму для вставки ссылки на видео:

<form method="post">
<input type="text" name="url" size="100"><br>
<input type="submit" name="send" value="Отправить">
</form>

Делаем обработчик формы:

if (isset($_POST['url']) &&
	filter_var($_POST['url'],FILTER_VALIDATE_URL,FILTER_FLAG_PATH_REQUIRED)){
	$videoID = getYoutubeVideoID($_POST['url']);
} else {
	$videoID = false;
}

Функция getYoutubeVideoID() извлекает идентификатор видео на ютюбе, и помещается в переменную $videoID.

Вставка iframe:

<?if ($videoID != false){?>
<iframe width="560" height="315" src="http://www.youtube.com/embed/<?=$videoID?>?autoplay=0" frameborder="0"></iframe>
<?}?>

Код функции getYoutubeVideoID():

// получение ID видео из URL
function getYoutubeVideoID($url){

	// допустимые доменые имена в ссылке
	$names = array('www.youtube.com','youtube.com');

	// разбор адреса
	$up = parse_url($url);

	// проверка параметров
	if (isset($up['host']) && in_array($up['host'],$names) &&
		isset($up['query']) && strpos($up['query'],'v=') !== false){

		// достаем параметр ID
		$lp = explode('v=',$url);

		// отсекаем лишние параметры
		$rp = explode('&',$lp[1]);

		// возвращаем строку, либо false
		return (!empty ($rp[0]) ? $rp[0] : false);
	}
	return false;
}

Ну и как полагается в конце: исходник и пример работы.

Добавил: htmaker, 31.07.2015 г.
 
плохослабосойдетхорошоотлично (2 голосов, средний: 3,00 из 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Комментарии

  • Загрузка...

Наверх