waynestate/parse-youtube-id

从YouTube URL中解析视频ID

1.0.0 2018-03-14 12:14 UTC

This package is auto-updated.

Last update: 2024-09-08 08:15:28 UTC


README

Master Build Status | Coverage Status

给定一个YouTube视频URL,解析出视频ID。

使用方法

通过composer安装包

composer require waynestate/parse-youtube-id

解析完整的YouTube URL

use Waynestate\Youtube\ParseId;

...

$youtube_id = ParseId::fromUrl('https://www.youtube.com/watch?v=yCjTG0rOIXQ');
echo $youtube_id; // 'yCjTG0rOIXQ'

解析简短的YouTube URL

$youtube_id = ParseId::fromUrl('https://youtu.be/yCjTG0rOIXQ');
echo $youtube_id; // 'yCjTG0rOIXQ'

空字符串或非YouTube URL返回空字符串

$youtube_id = ParseId::fromUrl('');
echo $youtube_id; // ''

有关所有支持的URL变体的详细信息,请参阅/tests/UrlParseTest.php

正则表达式

$pattern = '#^(?:https?://|//)?' # Optional URL scheme. Either http, or https, or protocol-relative.
         . '(?:www\.|m\.)?'      #  Optional www or m subdomain.
         . '(?:'                 #  Group host alternatives:
         .   'youtu\.be/'        #    Either youtu.be,
         .   '|youtube\.com/'    #    or youtube.com
         .     '(?:'             #    Group path alternatives:
         .       'embed/'        #      Either /embed/,
         .       '|v/'           #      or /v/,
         .       '|watch\?v='    #      or /watch?v=,
         .       '|watch\?.+&v=' #      or /watch?other_param&v=
         .     ')'               #    End path alternatives.
         . ')'                   #  End host alternatives.
         . '([\w-]{11})'         # 11 characters (Length of Youtube video ids).
         . '(?![\w-])#';         # Rejects if overlong id.

测试

composer test

贡献

有关详细信息,请参阅CONTRIBUTING.md

致谢

改编自Stephan Schmitzhttps://3v4l.org/GEDT0的作品

关于

韦恩州立大学(WSU)是一所位于密歇根州底特律的都市公立研究型大学。