使用 PHP 正则表达式解析 YouTube 视频 ID
要使用 PHP 的 preg_match 解析 YouTube URL 中的视频 ID,请使用以下改进的正则表达式表达式:
if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $url, $match)) { $video_id = $match[1]; }
优点:
用法:
$subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1"; preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $subject, $matches); print "<pre class="brush:php;toolbar:false">"; print_r($matches); print "";
示例输入/输出:
Input URL | Output |
---|---|
http://youtu.be/dQw4w9WgXcQ | z_AbfPXTKms |
http://www.youtube.com/e/dQw4w9WgXcQ | z_AbfPXTKms |
http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ | z_AbfPXTKms |
http://www.youtube-nocookie.com/watch?v=dQw4w9WgXcQ | z_AbfPXTKms |
以上是如何使用 PHP 正则表达式从各种 URL 中提取 YouTube 视频 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!