copadia / php-video-url-parser
一个简单高效的PHP视频URL解析器,为YouTube、Vimeo、Dailymotion和Facebook等不同服务提供缩略图和嵌入代码
v1.0.3
2019-09-12 13:51 UTC
Requires
- php: >=5.3
Requires (Dev)
- fabpot/php-cs-fixer: >= 1.0
- phpunit/phpunit: ^4.8
This package is not auto-updated.
Last update: 2024-09-21 13:42:33 UTC
README
PHP视频URL解析器是一个解析器,可以检测给定的视频URL,并返回一个包含视频嵌入代码、标题、描述、缩略图以及其他服务API可能提供的信息的对象。
安装
使用以下命令安装最新版本:
$ composer require copadia/php-video-url-parser
要求
- PHP 5.3
- cURL(如果您想使用Vimeo,至少需要启用file_get_contents(),否则不是必需的)
基本用法
<?php use RicardoFiorani\Matcher\VideoServiceMatcher; require __DIR__ . '/vendor/autoload.php'; $vsm = new VideoServiceMatcher(); //Detects which service the url belongs to and returns the service's implementation //of RicardoFiorani\Adapter\VideoAdapterInterface $video = $vsm->parse('https://www.youtube.com/watch?v=PkOcm_XaWrw'); //Checks if service provides embeddable videos (most services does) if ($video->isEmbeddable()) { //Will echo the embed html element with the size 200x200 echo $video->getEmbedCode(200, 200); //Returns the embed html element with the size 1920x1080 and autoplay enabled echo $video->getEmbedCode(1920, 1080, true); //Returns the embed html element with the size 1920x1080, autoplay enabled and force the URL schema to be https. echo $video->getEmbedCode(1920, 1080, true, true); } //If you don't want to check if service provides embeddable videos you can try/catch try { echo $video->getEmbedUrl(); } catch (\RicardoFiorani\Exception\NotEmbeddableException $e) { die(sprintf("The URL %s service does not provide embeddable videos.", $video->getRawUrl())); } //Gets URL of the smallest thumbnail size available echo $video->getSmallThumbnail(); //Gets URL of the largest thumbnail size available //Note some services (such as Youtube) does not provide the largest thumbnail for some low quality videos (like the one used in this example) echo $video->getLargestThumbnail();
目前支持的服务
- YouTube
- Vimeo
- Dailymotion
- Facebook视频
目前支持的PHP版本
- PHP 5.3
- PHP 5.4
- PHP 5.5
- PHP 5.6
- PHP 7.0
- PHP 7.1