public function MediaInternetVimeoHandler::parse in Media: Vimeo 7.2
Same name and namespace in other branches
- 7 includes/MediaInternetVimeoHandler.inc \MediaInternetVimeoHandler::parse()
3 calls to MediaInternetVimeoHandler::parse()
- MediaInternetVimeoHandler::claim in includes/
MediaInternetVimeoHandler.inc - MediaInternetVimeoHandler::getFileObject in includes/
MediaInternetVimeoHandler.inc - MediaInternetVimeoHandler::getOEmbed in includes/
MediaInternetVimeoHandler.inc - Returns information about the media.
File
- includes/
MediaInternetVimeoHandler.inc, line 14 - Extends the MediaInternetBaseHandler class to handle Vimeo videos.
Class
- MediaInternetVimeoHandler
- Implementation of MediaInternetBaseHandler.
Code
public function parse($embedCode) {
// http://vimeo.com/*
// http://vimeo.com/video/*
// http://vimeo.com/groups/*/videos/*
// http://vimeo.com/channels/*/*
// http://vimeo.com/album/*/video/*
$patterns = array(
'@vimeo\\.com/(\\d+)@i',
'@vimeo\\.com/video/(\\d+)@i',
'@vimeo\\.com/groups/.+/videos/(\\d+)@i',
'@vimeo\\.com/channels/.+/(\\d+)@i',
'@vimeo\\.com/album/.+/video/(\\d+)@i',
);
foreach ($patterns as $pattern) {
preg_match($pattern, $embedCode, $matches);
// @TODO: Parse is called often. Refactor so that valid ID is checked
// when a video is added, but not every time the embedCode is parsed.
if (isset($matches[1]) && self::validId($matches[1])) {
return file_stream_wrapper_uri_normalize('vimeo://v/' . $matches[1]);
}
}
}