Revision: 49665
Updated Code
at August 8, 2011 08:12 by peckham
Updated Code
public function isYoutubeVideo($value) { $isValid = false; //validate the url, see: http://snipplr.com/view/50618/ if (isValidURL($value)) { //code adapted from Moridin: http://snipplr.com/view/19232/ $idLength = 11; $idOffset = 3; $idStarts = strpos($value, "?v="); if ($idStarts === FALSE) { $idStarts = strpos($value, "&v="); } if ($idStarts === FALSE) { $idStarts = strpos($value, "/v/"); } if ($idStarts === FALSE) { $idStarts = strpos($value, "#!v="); $idOffset = 4; } if ($idStarts === FALSE) { $idStarts = strpos($value, "youtu.be/"); $idOffset = 9; } if ($idStarts !== FALSE) { //there is a videoID present, now validate it $videoID = substr($value, $idStarts + $idOffset, $idLength); $http = new HTTP("http://gdata.youtube.com"); $result = $http->doRequest("/feeds/api/videos/".$videoID, "GET"); //returns Array('headers' => Array(), 'body' => String); $code = $result['headers']['http_code']; //did the request return a http code of 2xx? if (substr($code, 0, 1) == 2) { $isValid = true; } } } return $isValid; }
Revision: 49664
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 27, 2011 23:55 by peckham
Initial Code
public function isYoutubeVideo($value) { $isValid = false; //validate the url, see: http://snipplr.com/view/50618/ if (isValidURL($value)) { //code adapted from Moridin: http://snipplr.com/view/19232/ $idLength = 11; $idOffset = 3; $idStarts = strpos($value, "?v="); if ($idStarts === FALSE) { $idStarts = strpos($value, "&v="); } if ($idStarts === FALSE) { $idStarts = strpos($value, "/v/"); } if ($idStarts === FALSE) { $idStarts = strpos($value, "#!v="); $idOffset = 4; } if ($idStarts === FALSE) { $idStarts = strpos($value, 'youtu.be/'); $idStarts = 9; } if ($idStarts !== FALSE) { //there is a videoID present, now validate it $videoID = substr($value, $idStarts + $idOffset, $idLength); $http = new HTTP("http://gdata.youtube.com"); $result = $http->doRequest("/feeds/api/videos/".$videoID, "GET"); //returns Array('headers' => Array(), 'body' => String); $code = $result['headers']['http_code']; //did the request return a http code of 2xx? if (substr($code, 0, 1) == 2) { $isValid = true; } } } return $isValid; }
Initial URL
Initial Description
This function validates the URL of a YouTube video. It supports four kinds of URL: ?v=, /v/, #!v=, and the short version (youtu.be). To validate the ID a request to YouTube is made, this is done using a personal class utilizing cURL.
Initial Title
Validate YouTube Video
Initial Tags
video
Initial Language
PHP