從 YouTube 網址擷取影片 ID
在程式碼中使用 YouTube 影片網址時,通常需要擷取影片 ID 進行辨識或加工。雖然 YouTube API 沒有直接提供執行此操作的函數,但您可以使用簡單的技術來解析 URL 並檢索 ID。
使用正規表示式解析 URL
一種常見的方法是使用正規表示式從 URL 中配對並提取影片 ID。以下是使用此技術的 PHP 函數範例:
<code class="php">function youtube_id_from_url($url) { $pattern = '/^# Match any youtube URL (?:https?://)? # Optional scheme. Either http or https (?:www\.)? # Optional www 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= ) # End path alternatives. ) # End host alternatives. ([\w-]{10,12}) # Allow 10-12 for 11 char youtube id. $/x'; $result = preg_match($pattern, $url, $matches); if ($result) { return $matches[1]; } return false; }</code>
此函數將 YouTube URL 作為輸入,並將其與捕獲影片 ID 的正規表示式進行比對。此模式確保它與不同格式的有效 YouTube URL 相符。
範例用法
要使用此功能,您可以提供YouTube URL 並擷取擷取的影片ID :
<code class="php">echo youtube_id_from_url('http://youtu.be/NLqAF9hrVbY'); # NLqAF9hrVbY</code>
替代方法:YouTube Oembed 服務
雖然與API 沒有直接關係,但YouTube 還提供了一個oembed 服務,該服務提供有關某個內容的更多元資訊YouTube 網址。但是,無法透過此服務直接取得視訊 ID。
透過使用 oembed 服務,您可以獲得標題、作者、縮圖等資訊。這對於驗證 YouTube 網址或提取其他相關詳細資訊非常有用。
<code class="php">$url = 'http://youtu.be/NLqAF9hrVbY'; var_dump(json_decode(file_get_contents(sprintf('http://www.youtube.com/oembed?url=%s&format=json', urlencode($url)))));</code>
以上是如何從 URL 提取 YouTube 影片 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!