This kind of provider extracts embed informations through the OEmbed protocol.
Inheritance: extends Essence\Provider
コード例 #1
0
ファイル: Vimeo.php プロジェクト: ashliewebb/ashliewebb
 /**
  *	Refactors URLs like these:
  *	- http://player.vimeo.com/video/20830433
  *
  *	in such form:
  *	- http://www.vimeo.com/20830433
  *
  *	@param string $url Url to prepare.
  *	@return string Prepared url.
  */
 public static function prepareUrl($url, array $options = [])
 {
     $url = parent::prepareUrl($url);
     if (preg_match('#player\\.vimeo\\.com/video/(?<id>[0-9]+)#i', $url, $matches)) {
         $url = 'http://www.vimeo.com/' . $matches['id'];
     }
     return $url;
 }
コード例 #2
0
ファイル: Standard.php プロジェクト: jaffog/essence
 /**
  *	Configures Youtube provider.
  */
 protected function _setupYoutube()
 {
     $this->configure(['youtubeIdPattern' => '~(?:v=|v/|embed/|youtu\\.be/)(?<id>[a-z0-9_-]+)~i', 'youtubeUrlTemplate' => 'http://www.youtube.com/watch?v=:id', 'youtubeThumbnailFormat' => Youtube::large, 'youtubePreparators' => Container::unique(function ($C) {
         $preparators = $C->get('oEmbedPreparators');
         $preparators[] = $C->get('YoutubeRefactorer');
         return $preparators;
     }), 'youtubePresenters' => Container::unique(function ($C) {
         $presenters = $C->get('oEmbedPresenters');
         $presenters[] = $C->get('YoutubePresenter');
         return $presenters;
     }), 'YoutubeRefactorer' => Container::unique(function ($C) {
         return new Refactorer($C->get('youtubeIdPattern'), $C->get('youtubeUrlTemplate'));
     }), 'YoutubePresenter' => Container::unique(function ($C) {
         return new Youtube($C->get('youtubeThumbnailFormat'));
     }), 'YoutubeProvider' => function ($C) {
         $Youtube = new OEmbed($C->get('Http'), $C->get('Dom'));
         $Youtube->setPreparators($C->get('youtubePreparators'));
         $Youtube->setPresenters($C->get('youtubePresenters'));
         return $Youtube;
     }]);
 }
コード例 #3
0
ファイル: OEmbedTest.php プロジェクト: ashliewebb/ashliewebb
 /**
  *
  */
 public function testPrepare()
 {
     $this->assertEquals('valid', OEmbed::prepareUrl('valid#anchor'));
     $this->assertEquals('valid', OEmbed::prepareUrl('valid?argument=value'));
     $this->assertEquals('valid', OEmbed::prepareUrl('valid?argument=value#anchor'));
 }