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

Bagaimana untuk Mengekstrak ID Video YouTube daripada Pelbagai URL Menggunakan PHP Regex?

Barbara Streisand
Barbara Streisandasal
2024-12-08 02:50:11429semak imbas

How to Extract YouTube Video IDs from Various URLs Using PHP Regex?

Menghuraikan ID Video YouTube dengan PHP Regex

Untuk menghuraikan ID video daripada URL YouTube menggunakan preg_match PHP, gunakan biasa yang dipertingkatkan berikut ungkapan:

if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/\s]{11})%i', $url, $match)) {
    $video_id = $match[1];
}

Faedah:

  • Keserasian Universal: Regex ini menangkap ID video daripada pelbagai format URL YouTube, termasuk youtu .be, tonton?v=, dan benamkan kod.
  • Pengecualian Pengendalian: Ia mengabaikan aksara tambahan yang hadir selepas ID video dalam URL, memastikan pengekstrakan yang boleh dipercayai.
  • Sokongan untuk URL Ganti: Regex juga mengendalikan URL YouTube yang dihoskan pada youtube-nocookie.com.

Penggunaan:

$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 "
";

Sampel Input/Output:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak ID Video YouTube daripada Pelbagai URL Menggunakan PHP Regex?. 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