Another suggestion to the addon-author: you could parse the video-ID of Youtube-videos from Youtube-URLs with this little function (that I have found using Google) which will make it much more intuitive for users to add a youtube-link to their ride-profile because they no longer will have to add the exact embed url and can also add the usual URL from their browser's address bar:
PHP Code:
/*
* Function to parse the id from all different types of Youtube Embed Codes and Youtube Urls
*
* @author Andreas Grundner
* @date 22.07.2011
* @licence freeware
* @param string youtube url, embed code, share code, channel code ...
* @return string youtube_id
*/
function getYoutubeId($sYoutubeUrl) {
# set to zero
$youtube_id = "";
$sYoutubeUrl = trim($sYoutubeUrl);
# the User entered only the eleven chars long id, Case 1
if(strlen($sYoutubeUrl) === 11) {
$youtube_id = $sYoutubeUrl;
return $sYoutubeUrl;
}
# the User entered a Url
else {
# try to get all Cases
if (preg_match('~(?:youtube.com/(?:user/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu.be/)([^"&?/ ]{11})~i', $sYoutubeUrl, $match)) {
$youtube_id = $match[1];
return $youtube_id;
}
# try to get some other channel codes, and fallback extractor
elseif(preg_match('~http://www.youtube.com/v/([A-Za-z0-9-_]+).+?|embed/([0-9A-Za-z-_]{11})|watch?v=([0-9A-Za-z-_]{11})|#.*/([0-9A-Za-z-_]{11})~si', $sYoutubeUrl, $match)) {
for ($i=1; $i<=4; $i++) {
if (strlen($match[$i])==11) {
$youtube_id = $match[$i];
break;
}
}
return $youtube_id;
}
else {
$youtube_id = "No valid YoutubeId extracted";
return $youtube_id;
}
}
}
If you want to call this function in
vbrides.php, do it this way:
PHP Code:
$html_video .= '<iframe width="280" height="158" src="//www.youtube.com/embed/' . getYoutubeId($ride['video']) . '" frameborder="0" allowfullscreen></iframe>';