Php youtube地址的验证

Php youtube地址的验证,php,Php,我必须做一个插件,允许你们插入视频从youtube在网站上。为此,我遇到了一个问题,我想验证来自youtube的url地址的正确性。我想检查帐户下地址的正确性: -检查地址中是否包含电影的id -检查地址是否包含(youtube.com或youtu.be) 我的代码只检查url是否包含(youtu.be或youtube.com)。我不知道如何检查地址是否有11个字符长的电影id。你知道吗 <?php $url = 'https://www.youtube.com/watch?v=knfrx

我必须做一个插件,允许你们插入视频从youtube在网站上。为此,我遇到了一个问题,我想验证来自youtube的url地址的正确性。我想检查帐户下地址的正确性:
-检查地址中是否包含电影的id
-检查地址是否包含(youtube.com或youtu.be)

我的代码只检查url是否包含(youtu.be或youtube.com)。我不知道如何检查地址是否有11个字符长的电影id。你知道吗

<?php
$url = 'https://www.youtube.com/watch?v=knfrxj0T5NY';
if (strpos($url, 'youtube.com') || strpos($url, 'youtu.be')){
    echo 'ok';
}else{
    echo 'no';
}
?>

使用cURL的方法:

function isValidYoutubeURL($url) {
    // Let's check the host first
    $host = parse_url($url, PHP_URL_HOST);
    if (!in_array($host, array('youtube.com', 'www.youtube.com'))) {
        return false;
    }

    $ch = curl_init('www.youtube.com/oembed?url='.urlencode($url).'&format=json');
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_exec($ch);

    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    return ($status !== 404);
}
使用cURL的方法:

function isValidYoutubeURL($url) {
    // Let's check the host first
    $host = parse_url($url, PHP_URL_HOST);
    if (!in_array($host, array('youtube.com', 'www.youtube.com'))) {
        return false;
    }

    $ch = curl_init('www.youtube.com/oembed?url='.urlencode($url).'&format=json');
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_exec($ch);

    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    return ($status !== 404);
}

不客气,请尝试将此问题的状态更改为“已解决”。)不客气,请尝试将此问题的状态更改为“已解决”。)