PHPを使用してYouTubeリンクを埋め込みに変換する方法


方法1: YouTubeの埋め込みコードを生成する関数を使用する方法

以下は、YouTubeの埋め込みコードを生成するための関数例です。

function convertLinkToEmbed($link) {
    $videoId = getYoutubeVideoId($link);
    if (!empty($videoId)) {
        $embedCode = '<iframe width="560" height="315" src="https://www.youtube.com/embed/' . $videoId . '" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';
        return $embedCode;
    }
    return false;
}
function getYoutubeVideoId($link) {
    $urlParts = parse_url($link);
    if (isset($urlParts['query'])) {
        parse_str($urlParts['query'], $query);
        if (isset($query['v'])) {
            return $query['v'];
        }
    }
    return false;
}
$link = 'https://www.youtube.com/watch?v=YOUR_VIDEO_ID';
$embedCode = convertLinkToEmbed($link);
if ($embedCode) {
    echo $embedCode;
} else {
    echo 'Invalid YouTube link';
}

この例では、convertLinkToEmbed関数が与えられたYouTubeのリンクを埋め込みコードに変換します。getYoutubeVideoId関数はリンクからビデオIDを抽出します。リンクにビデオIDが含まれていない場合、関数はfalseを返します。

方法2: YouTubeの埋め込みURLを生成する方法

もう一つの方法として、YouTubeの埋め込みURLを直接生成する方法があります。以下はその例です。

function convertLinkToEmbed($link) {
    $videoId = getYoutubeVideoId($link);
    if (!empty($videoId)) {
        $embedUrl = 'https://www.youtube.com/embed/' . $videoId;
        return $embedUrl;
    }
    return false;
}
$link = 'https://www.youtube.com/watch?v=YOUR_VIDEO_ID';
$embedUrl = convertLinkToEmbed($link);
if ($embedUrl) {
    echo '<iframe width="560" height="315" src="' . $embedUrl . '" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>';
} else {
    echo 'Invalid YouTube link';
}

この例では、convertLinkToEmbed関数が埋め込みURLを生成します。getYoutubeVideoId関数はリンクからビデオIDを抽出するために使用されます。生成された埋め込みURLは、<iframe>タグ内で使用されます。