1

从研究看来,验证 YT 视频 ID 是否存在的最佳做法似乎是通过 YT API。我是 php 的新手并构造了一个函数,但它有错误我不确定是否以正确的方式接近这个,或者是否需要大量更改我的代码。如何正确验证 youtube 视频 ID?

我得到两个错误:

    Warning: Wrong parameter count for preg_replace()
    Fatal error: Class 'HTTP' not found 

代码

function validYoutubeVideo($isValid) {

                        $isValid = false;

                            if ($videoID == preg_replace('~https?://(?:[0-9A-Z-]+\.)?(?:youtu\.be/| youtube\.com\S*[^\w\-\s])([\w\-]{11})      
                        (?=[^\w\-]|$)(?![?=&+%\w]*(?:[\'"][^<>]*>| </a>))[?=&+%\w-]*~ix','$1')){



                                $http = new HTTP("http://gdata.youtube.com/feeds/api/videos/".$serverVideoID, "GET");
                                $http = $result;

                                if ( $videoID == $result) {
                                    $isValid = true;
                                }
                            }

                        return $isValid;

                    }
4

1 回答 1

3

检查 youtube API 的最佳方法是通过我使用的这种方法:

$headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $videoID);
                if (!strpos($headers[0], '200')) {
                    echo "The YouTube video you entered does not exist";
                    return false;
                }

只需复制并用其余代码替换它,您就可以开始了。

于 2012-07-12T07:06:48.400 回答