使用 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中文網其他相關文章!