如何使用 PHP 從 URL 中提取 YouTube 影片 ID?

Susan Sarandon
發布: 2024-10-31 08:20:38
原創
432 人瀏覽過

How to Extract YouTube Video IDs from URLs Using PHP?

如何使用PHP 擷取YouTube 影片ID

簡介

簡介

基於正規表示式的方法

常見的解決方案包括使用正規表示式來從 URL 中提取視訊 ID。以下函數提供了PHP 中的實作:
<code class="php">function youtube_id_from_url($url) {
    $pattern = '%^
        (?: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 作為參數傳遞:
<code class="php">$video_id = youtube_id_from_url('http://youtu.be/NLqAF9hrVbY');
echo $video_id; // NLqAF9hrVbY</code>
登入後複製

YouTube oEmbed服務

雖然不是直接的 API 函數,但 YouTube 提供了 oEmbed 服務。透過以視訊 URL 作為參數向特定 URL 發出請求,您可以檢索有關視訊的其他信息,包括其 ID。此方法可以提供更多上下文並允許 URL 驗證。
<code class="php">$url = 'http://youtu.be/NLqAF9hrVbY';
$oembed_url = sprintf('http://www.youtube.com/oembed?url=%s&amp;format=json', urlencode($url));
$oembed_response = json_decode(file_get_contents($oembed_url));
if ($oembed_response) {
    $video_id = $oembed_response->video_id;
}</code>
登入後複製

以上是如何使用 PHP 從 URL 中提取 YouTube 影片 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!