유튜브/비메오 ID로부터 비디오 썸네일 갖고오기 (youtube.lib.php) > 그누보드5 팁자료실

그누보드5 팁자료실

유튜브/비메오 ID로부터 비디오 썸네일 갖고오기 (youtube.lib.php) 정보

유튜브/비메오 ID로부터 비디오 썸네일 갖고오기 (youtube.lib.php)

본문


<?php
if (!defined('_GNUBOARD_')) exit;
function get_youtube_id($contents)
{
    if(!$contents)
        return false;
preg_match('/(?:youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|shorts\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/', $contents, $match); //all working included shorts and iframe
return $match[1] ?? false;
}
 
function get_youtube_thumbnail($youtube_id, $thumb_str="0"){
    if(!$youtube_id)
        return false;
 
    return "https://img.youtube.com/vi/".$youtube_id."/".$thumb_str.".jpg";
}
 
function get_vimeo_id($contents)
{
    if(!$contents)
        return false;
 
        $pattern = '/(?:https?:\/\/)?(?:www\.)?(?:player\.)?vimeo\.com\/(?:video\/|channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|)(\d+)(?:[a-zA-Z0-9_-]+)?/i';
    preg_match($pattern, $contents, $match);
 
    return $match[1] ?? false;
 
function get_vimeo_thumbnail($id) {
    if (!$id) return false;
 
    $url = "https://vimeo.com/api/oembed.json?url=https://vimeo.com/" . $id;
   
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
   
    $response = curl_exec($ch);
    curl_close($ch);
   
    if ($response) {
        $data = json_decode($response);
        return $data->thumbnail_url ?? false;
    }
   
    return false;
}
추천
2
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로