98 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
function getVimeoId($url)
 | 
						|
{
 | 
						|
  if (preg_match('#(?:https?://)?(?:www.)?(?:player.)?vimeo.com/(?:[a-z]*/)*([0-9]{6,11})[?]?.*#', $url, $m)) {
 | 
						|
    return $m[1];
 | 
						|
  }
 | 
						|
  return false;
 | 
						|
}
 | 
						|
function getYoutubeId($url)
 | 
						|
{
 | 
						|
  $parts = parse_url($url);
 | 
						|
  if (isset($parts['host'])) {
 | 
						|
    $host = $parts['host'];
 | 
						|
    if (
 | 
						|
      false === strpos($host, 'youtube') &&
 | 
						|
      false === strpos($host, 'youtu.be')
 | 
						|
    ) {
 | 
						|
      return false;
 | 
						|
    }
 | 
						|
  }
 | 
						|
  if (isset($parts['query'])) {
 | 
						|
    parse_str($parts['query'], $qs);
 | 
						|
    if (isset($qs['v'])) {
 | 
						|
      return $qs['v'];
 | 
						|
    } else if (isset($qs['vi'])) {
 | 
						|
      return $qs['vi'];
 | 
						|
    }
 | 
						|
  }
 | 
						|
  if (isset($parts['path'])) {
 | 
						|
    $path = explode('/', trim($parts['path'], '/'));
 | 
						|
    return $path[count($path) - 1];
 | 
						|
  }
 | 
						|
  return false;
 | 
						|
}
 | 
						|
function getVideoThumbnailByUrl($url, $format = 'small')
 | 
						|
{
 | 
						|
  if (false !== ($id = getVimeoId($url))) {
 | 
						|
    $hash = unserialize(file_get_contents("https://vimeo.com/api/v2/video/$id.php"));
 | 
						|
    /**
 | 
						|
     * thumbnail_small
 | 
						|
     * thumbnail_medium
 | 
						|
     * thumbnail_large
 | 
						|
     */
 | 
						|
    if ('medium' === $format) {
 | 
						|
      return preg_replace("/^http:/i", "https:", $hash[0]['thumbnail_medium']);
 | 
						|
    } else if ('large' === $format) {
 | 
						|
      return preg_replace("/^http:/i", "https:", $hash[0]['thumbnail_large']);
 | 
						|
    }
 | 
						|
    return preg_replace("/^http:/i", "https:", $hash[0]['thumbnail_small']);
 | 
						|
    // return $hash[0]['thumbnail_small'];
 | 
						|
  } elseif (false !== ($id = getYoutubeId($url))) {
 | 
						|
    /**
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/0.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/1.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/2.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/3.jpg
 | 
						|
     *
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/default.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/mqdefault.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/hqdefault.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/sddefault.jpg
 | 
						|
     * http://img.youtube.com/vi/<insert-youtube-video-id-here>/maxresdefault.jpg
 | 
						|
     */
 | 
						|
    if ('medium' === $format) {
 | 
						|
      return 'https://img.youtube.com/vi/' . $id . '/hqdefault.jpg';
 | 
						|
    } else if ('large' === $format) {
 | 
						|
      return 'https://img.youtube.com/vi/' . $id . '/sddefault.jpg';
 | 
						|
    } else if ('original' === $format) {
 | 
						|
      return 'https://img.youtube.com/vi/' . $id . '/maxresdefault.jpg';
 | 
						|
    }
 | 
						|
    return 'https://img.youtube.com/vi/' . $id . '/mqdefault.jpg';
 | 
						|
  }
 | 
						|
  return false;
 | 
						|
}
 | 
						|
function getEmbedVideo($url)
 | 
						|
{
 | 
						|
  $code = <<<EEE
 | 
						|
<style>
 | 
						|
.vec { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
 | 
						|
.vec iframe, .vec object, .vec embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
 | 
						|
</style>
 | 
						|
EEE;
 | 
						|
 | 
						|
  if (false !== ($id = getVimeoId($url))) {
 | 
						|
    $code .= <<<EEE
 | 
						|
<div class='vec'><iframe src='https://player.vimeo.com/video/$id' frameborder='0' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div>
 | 
						|
EEE;
 | 
						|
  } elseif (false !== ($id = getYoutubeId($url))) {
 | 
						|
    $code .= <<<EEE
 | 
						|
<div class='vec'><iframe src='https://www.youtube.com/embed/$id' frameborder='0' allowfullscreen></iframe></div>
 | 
						|
EEE;
 | 
						|
  } else {
 | 
						|
    $code = false;
 | 
						|
  }
 | 
						|
  return $code;
 | 
						|
}
 |