Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengekstrak ID Video YouTube daripada URL Menggunakan PHP?

Bagaimana untuk Mengekstrak ID Video YouTube daripada URL Menggunakan PHP?

Susan Sarandon
Susan Sarandonasal
2024-10-31 08:20:38528semak imbas

How to Extract YouTube Video IDs from URLs Using PHP?

Cara Mengekstrak ID Video YouTube Menggunakan PHP

Pengenalan

Mengekstrak ID video YouTube daripada URL adalah penting untuk banyak aplikasi. Ini membolehkan pembangun mengenal pasti dan memproses video berdasarkan ID unik mereka. Walaupun API YouTube tidak menyediakan fungsi langsung untuk ini, terdapat kaedah lain yang tersedia.

Pendekatan Berasaskan Regex

Penyelesaian biasa melibatkan penggunaan ungkapan biasa untuk ekstrak ID video daripada URL. Fungsi berikut menyediakan pelaksanaan dalam 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>

Contoh Penggunaan

Untuk menggunakan fungsi, hanya hantar URL YouTube sebagai parameter:

<code class="php">$video_id = youtube_id_from_url('http://youtu.be/NLqAF9hrVbY');
echo $video_id; // NLqAF9hrVbY</code>

Perkhidmatan oEmbed YouTube

Walaupun bukan fungsi API secara langsung, YouTube menawarkan perkhidmatan oEmbed. Dengan membuat permintaan ke URL tertentu dengan URL video sebagai parameter, anda boleh mendapatkan maklumat tambahan tentang video, termasuk IDnya. Kaedah ini mungkin memberikan lebih banyak konteks dan membenarkan pengesahan 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>

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak ID Video YouTube daripada URL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn