You are here

public function MediaInternetYouTubeHandler::parse in Media: YouTube 7

Same name and namespace in other branches
  1. 7.3 includes/MediaInternetYouTubeHandler.inc \MediaInternetYouTubeHandler::parse()
  2. 7.2 includes/MediaInternetYouTubeHandler.inc \MediaInternetYouTubeHandler::parse()
4 calls to MediaInternetYouTubeHandler::parse()
MediaInternetYouTubeHandler::claim in includes/MediaInternetYouTubeHandler.inc
MediaInternetYouTubeHandler::getFileObject in includes/MediaInternetYouTubeHandler.inc
MediaInternetYouTubeHandler::getMRSS in includes/MediaInternetYouTubeHandler.inc
Returns information about the media. See http://video.search.yahoo.com/mrss.
MediaInternetYouTubeHandler::getOEmbed in includes/MediaInternetYouTubeHandler.inc
Returns information about the media. See http://www.oembed.com/.

File

includes/MediaInternetYouTubeHandler.inc, line 9

Class

MediaInternetYouTubeHandler
Implementation of MediaInternetBaseHandler.

Code

public function parse($embedCode) {
  $patterns = array(
    '@youtube\\.com/watch[#\\?].*?v=([^"\\& ]+)@i',
    '@youtube\\.com/embed/([^"\\&\\? ]+)@i',
    '@youtube\\.com/v/([^"\\&\\? ]+)@i',
    '@youtube\\.com/\\?v=([^"\\& ]+)@i',
    '@youtu.be/([^"\\&\\? ]+)@i',
  );
  foreach ($patterns as $pattern) {
    preg_match($pattern, $embedCode, $matches);
    if (isset($matches[1]) && $this
      ->valid_id($matches[1])) {
      return file_stream_wrapper_uri_normalize('youtube://v/' . $matches[1]);
    }
  }
}