Skip to content

Instantly share code, notes, and snippets.

@wwwbruno
Last active July 18, 2016 13:46
Show Gist options
  • Save wwwbruno/8303657 to your computer and use it in GitHub Desktop.
Save wwwbruno/8303657 to your computer and use it in GitHub Desktop.
Manipula url de vídeo do youtube e vimeo
<?php
/**
* verificar_video
*
* Verifica qual é o vídeo (youtube ou vimeo) e retorna um array com o link e o tipo
*
*
* @param $string
* @return array
*/
function verificar_video($url){
$return = array();
if(is_youtube($url)){
$return['tipo'] = 'youtube';
$return['link'] = youtube_video_id($url);
} elseif(is_vimeo($url)){
$return['tipo'] = 'vimeo';
$return['link'] = vimeo_video_id($url);
}
return $return;
}
/**
* is_youtube
*
* Verifica se a url é do youtube
*
*
* @param $string
* @return boolean
*/
function is_youtube($url){
return (preg_match('/youtu\.be/i', $url) || preg_match('/youtube\.com\/watch/i', $url));
}
/**
* youtube_video_id
*
* Pega a url do youtube e retorna o ID do video
*
*
* @param $string
* @return $string
*/
function youtube_video_id($url){
if(is_youtube($url)){
$pattern = '/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/';
preg_match($pattern, $url, $matches);
if (count($matches) && strlen($matches[7]) == 11){
return $matches[7];
}
}
return '';
}
/**
* is_vimeo
*
* Verifica se a url é do vimeo
*
*
* @param $string
* @return boolean
*/
function is_vimeo($url){
return (preg_match('/vimeo\.com/i', $url));
}
/**
* vimeo_video_id
*
* Pega a url do vimeo e retorna o ID do video
*
*
* @param $string
* @return $string
*/
function vimeo_video_id($url){
if(is_vimeo($url)){
$pattern = '/\/\/(www\.)?vimeo.com\/(\d+)($|\/)/';
preg_match($pattern, $url, $matches);
if (count($matches)){
return $matches[2];
}
}
return '';
}
/**
* youtube_video_url
*
* Pega o ID do youtube e retorna a url video
*
*
* @param $string
* @return $string
*/
function youtube_video_url($url){
return "http://www.youtube.com/watch?v=".$url;
}
/**
* vimeo_video_url
*
* Pega o ID do vimeo e retorna a url video
*
*
* @param $string
* @return $string
*/
function vimeo_video_url($url){
return "http://vimeo.com/".$url;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment