public function MediaInternetFacebookVideoHandler::parse in Media Facebook Video 7
Provides facebook patterns for matching the video ID.
2 calls to MediaInternetFacebookVideoHandler::parse()
- MediaInternetFacebookVideoHandler::claim in includes/
MediaInternetFacebookVideoHandler.inc - Parses embed code.
- MediaInternetFacebookVideoHandler::getFileObject in includes/
MediaInternetFacebookVideoHandler.inc - Gets file object from parsed embed code.
File
- includes/
MediaInternetFacebookVideoHandler.inc, line 18 - Extends the MediaInternetBaseHandler class to handle Facebook videos.
Class
- MediaInternetFacebookVideoHandler
- Implementation of MediaInternetBaseHandler.
Code
public function parse($embed_code) {
$patterns = array(
'@facebook\\.com/.*\\/videos\\/[a-z][a-z]\\..*/(\\d+)/.*@i',
'@facebook\\.com/video\\.php\\?v=(\\d+)@i',
'@facebook\\.com/.*\\/videos\\/(\\d+)\\/.*@i',
'@facebook\\.com/.*\\/posts\\/(\\d+)\\/.*@i',
);
foreach ($patterns as $pattern) {
preg_match($pattern, $embed_code, $matches);
// @TODO: Parse is called often. Refactor so that valid ID is checked
// when a video is added, but not every time the embed_code is parsed.
if (isset($matches[1])) {
return file_stream_wrapper_uri_normalize('facebook://v/' . $matches[1]);
}
}
}