根据研究,验证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;
}发布于 2012-07-12 15:06:48
检查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;
}只需将其复制并替换为您的其余代码,您就应该可以运行了。
https://stackoverflow.com/questions/11446260
复制相似问题