public function MediaInternetBrightcoveHandler::parse in Brightcove Video Connect 7.7
Same name and namespace in other branches
- 7.2 brightcove_media/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
- 7.3 brightcove_media/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
- 7.4 brightcove_media/includes/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
- 7.6 brightcove_media/includes/MediaInternetBrightcoveHandler.inc \MediaInternetBrightcoveHandler::parse()
Parse the video id from an embedcode.
Parameters
$embedCode:
Return value
null|string
3 calls to MediaInternetBrightcoveHandler::parse()
- MediaInternetBrightcoveHandler::claim in brightcove_media/
includes/ MediaInternetBrightcoveHandler.inc - Set the claim attribute.
- MediaInternetBrightcoveHandler::getFileObject in brightcove_media/
includes/ MediaInternetBrightcoveHandler.inc - Returns a file object which can be used for validation
- MediaInternetBrightcoveHandler::validate in brightcove_media/
includes/ MediaInternetBrightcoveHandler.inc - Validate the embedCode.
File
- brightcove_media/
includes/ MediaInternetBrightcoveHandler.inc, line 15 - Internet handler for Brightcove videos.
Class
- MediaInternetBrightcoveHandler
- @file Internet handler for Brightcove videos.
Code
public function parse($embedCode) {
// Special handling for the shortened urls.
if (preg_match('#^http://bcove.me/[a-z0-9]+$#i', $embedCode)) {
$resp = drupal_http_request($embedCode);
if ($resp) {
$full_url = $resp->redirect_url;
$matches = NULL;
preg_match('#&bctid=([0-9]+)#i', $full_url, $matches);
if (isset($matches[1])) {
return file_stream_wrapper_uri_normalize("brightcove://{$matches[1]}");
}
}
}
// Using regexes are right here, because brightcove provides badly
// formatted html files.
$regexes = [
'#^([0-9]+)$#i',
'#name="@videoPlayer" value="([0-9]+)"#i',
'#@videoPlayer=([0-9]+)&#i',
];
foreach ($regexes as $regex) {
$matches = NULL;
preg_match($regex, $embedCode, $matches);
if (isset($matches[1])) {
return file_stream_wrapper_uri_normalize("brightcove://{$matches[1]}");
}
}
return NULL;
}