Mengekstrak ID Video daripada URL YouTube
Dalam senario di mana pengguna menyediakan URL video YouTube, adalah perlu untuk mengekstrak ID video untuk pelbagai fungsi . Walaupun API YouTube tidak menawarkan fungsi khusus untuk tujuan ini, pendekatan alternatif tersedia.
Satu kaedah melibatkan penggunaan ungkapan biasa untuk menghuraikan URL dan mengasingkan ID video. Berikut ialah contoh fungsi PHP yang menggunakan pendekatan ini:
<code class="php">/** * get youtube video ID from URL * * @param string $url * @return string Youtube video id or FALSE if none found. */ 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>
Pilihan lain ialah memanfaatkan perkhidmatan oEmbed YouTube. Walaupun ia tidak memberikan ID video secara langsung, ia menawarkan metadata tambahan tentang URL. Berikut ialah contoh menggunakan JSON:
<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>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan ID Video daripada URL YouTube?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!