Dapatkah seseorang menunjukkan kepada saya cara mengeluarkan id youtube dari url terlepas dari variabel GET lainnya di URL.
Gunakan video ini sebagai contoh: http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related
Jadi antara v=
dan sebelum berikutnya&
$ch=curl_init(); curl_setopt($ch, CURLOPT_URL, "http://vimeo.com/api/v2/video/$id.php"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); $hash =unserialize(curl_exec($ch)); curl_close($ch);
Jawaban:
Gunakan parse_url () dan parse_str () .
(Anda dapat menggunakan regex untuk apa saja, tetapi regex sangat mudah untuk membuat kesalahan, jadi jika ada fungsi PHP khusus untuk apa yang Anda coba capai, gunakan itu.)
parse_url mengambil string dan memotongnya menjadi array yang memiliki banyak info. Anda bisa bekerja dengan larik ini, atau Anda bisa menentukan satu item yang Anda inginkan sebagai argumen kedua. Dalam hal ini kami tertarik dengan kueri, yaitu
PHP_URL_QUERY
.Sekarang kami memiliki kueri, yaitu
v=C4kxS1ksqtw&feature=relate
, tetapi kami hanya menginginkan bagian setelahnyav=
. Untuk ini kita beralih keparse_str
yang pada dasarnya berfungsi sepertiGET
pada string. Dibutuhkan string dan membuat variabel yang ditentukan dalam string. Dalam hal ini$v
dan$feature
dibuat. Kami hanya tertarik pada$v
.Untuk amannya, Anda tidak ingin hanya menyimpan semua variabel dari
parse_url
dalam namespace Anda (lihat komentar mellowsoon). Sebaliknya, simpan variabel sebagai elemen larik, sehingga Anda memiliki kendali atas variabel apa yang Anda simpan, dan Anda tidak dapat menimpa variabel yang ada secara tidak sengaja.Menyatukan semuanya, kami memiliki:
<?php $url = "http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=relate"; parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars ); echo $my_array_of_vars['v']; // Output: C4kxS1ksqtw ?>
Contoh kerja
Edit:
hehe - terima kasih Charles. Itu membuat saya tertawa, saya belum pernah melihat kutipan Zawinski sebelumnya:
Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.
- Jamie Zawinskisumber
parse_url()
kerjanya di bawah tenda), ini adalah cara yang tepat.preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#", $url, $matches);
Ini akan menjelaskan
Saya sedikit meningkatkannya untuk mendukung: http://www.youtube.com/v/5xADESocujo?feature=autoshare&version=3&autohide=1&autoplay=1
Garis yang saya gunakan sekarang adalah:
preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#", $link, $matches);
sumber
#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=v\/)[^&\n]+(?=\?)|(?<=embed/)[^&\n]+|(?<=v=)[^&\n]+|(?<=youtu.be/)[^&\n]+#
(?<=(?:v|i)=)[a-zA-Z0-9-]+(?=&)|(?<=(?:v|i)\/)[^&\n]+|(?<=embed\/)[^"&\n]+|(?<=(?:v|i)=)[^&\n]+|(?<=youtu.be\/)[^&\n]+
rubular.com/r/M9PJYcQxRW$matches
array dengan lebih banyak info, termasuk ID video yang sangat berguna untuk proyek sayaBerdasarkan komentar bokor atas jawaban Anthony:
preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\/))([^\?&\"'>]+)/", $url, $matches);
$matches[1]
berisi vidid tersebutPertandingan:
Tidak cocok:
sumber
#
ke grup tangkapan akhir:preg_match("/^(?:http(?:s)?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\/))([^\?#&\"'>]+)/", $url, $matches);
Ini bisa sangat mudah dilakukan dengan menggunakan parse_str dan parse_url dan menurut saya lebih dapat diandalkan.
Fungsi saya mendukung url berikut:
Juga termasuk tes di bawah fungsi.
/** * Get Youtube video ID from URL * * @param string $url * @return mixed Youtube video ID or FALSE if not found */ function getYoutubeIdFromUrl($url) { $parts = parse_url($url); if(isset($parts['query'])){ parse_str($parts['query'], $qs); if(isset($qs['v'])){ return $qs['v']; }else if(isset($qs['vi'])){ return $qs['vi']; } } if(isset($parts['path'])){ $path = explode('/', trim($parts['path'], '/')); return $path[count($path)-1]; } return false; } // Test $urls = array( 'http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player', 'http://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player', 'http://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player', 'http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player' ); foreach($urls as $url){ echo $url . ' : ' . getYoutubeIdFromUrl($url) . "\n"; }
sumber
SOLTUION Untuk semua jenis link !! :
<?php function get_youtube_id_from_url($url) { preg_match('/(http(s|):|)\/\/(www\.|)yout(.*?)\/(embed\/|watch.*?v=|)([a-z_A-Z0-9\-]{11})/i', $url, $results); return $results[6]; } echo get_youtube_id_from_url('http://www.youtube.com/watch?var1=blabla#v=GvJehZx3eQ1$var2=bla'); // or http://youtu.be/GvJehZx3eQ1 // or http://www.youtube.com/embed/GvJehZx3eQ1 // or http://www.youtu.be/GvJehZx3eQ1/blabla?xyz ?>
keluaran:
GvJehZx3eQ1
sumber
diperbaiki berdasarkan Bagaimana cara memvalidasi id video youtube?
<?php $links = [ "youtube.com/v/tFad5gHoBjY", "youtube.com/vi/tFad5gHoBjY", "youtube.com/?v=tFad5gHoBjY", "youtube.com/?vi=tFad5gHoBjY", "youtube.com/watch?v=tFad5gHoBjY", "youtube.com/watch?vi=tFad5gHoBjY", "youtu.be/tFad5gHoBjY", "http://youtu.be/qokEYBNWA_0?t=30m26s", "youtube.com/v/vidid", "youtube.com/vi/vidid", "youtube.com/?v=vidid", "youtube.com/?vi=vidid", "youtube.com/watch?v=vidid", "youtube.com/watch?vi=vidid", "youtu.be/vidid", "youtube.com/embed/vidid", "http://youtube.com/v/vidid", "http://www.youtube.com/v/vidid", "https://www.youtube.com/v/vidid", "youtube.com/watch?v=vidid&wtv=wtv", "http://www.youtube.com/watch?dev=inprogress&v=vidid&feature=related", "youtube.com/watch?v=7HCZvhRAk-M" ]; foreach($links as $link){ preg_match("#([\/|\?|&]vi?[\/|=]|youtu\.be\/|embed\/)([a-zA-Z0-9_-]+)#", $link, $matches); var_dump(end($matches)); }
sumber
Kami tahu bahwa ID video memiliki panjang 11 karakter dan dapat diawali dengan
v=
atauvi=
atauv/
atauvi/
atauyoutu.be/
. Jadi cara termudah untuk melakukan ini:<?php $youtube = 'http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player http://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player http://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player'; preg_match_all("#(?<=v=|v\/|vi=|vi\/|youtu.be\/)[a-zA-Z0-9_-]{11}#", $youtube, $matches); var_dump($matches[0]);
Dan keluaran:
array(8) { [0]=> string(11) "dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" [2]=> string(11) "dQw4w9WgXcQ" [3]=> string(11) "dQw4w9WgXcQ" [4]=> string(11) "dQw4w9WgXcQ" [5]=> string(11) "dQw4w9WgXcQ" [6]=> string(11) "dQw4w9WgXcQ" [7]=> string(11) "dQw4w9WgXcQ" }
sumber
Perintah berikut akan berfungsi untuk semua tautan youtube
<?php // Here is a sample of the URLs this regex matches: (there can be more content after the given URL that will be ignored) // http://youtu.be/dQw4w9WgXcQ // http://www.youtube.com/embed/dQw4w9WgXcQ // http://www.youtube.com/watch?v=dQw4w9WgXcQ // http://www.youtube.com/?v=dQw4w9WgXcQ // http://www.youtube.com/v/dQw4w9WgXcQ // http://www.youtube.com/e/dQw4w9WgXcQ // http://www.youtube.com/user/username#p/u/11/dQw4w9WgXcQ // http://www.youtube.com/sandalsResorts#p/c/54B8C800269D7C1B/0/dQw4w9WgXcQ // http://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ // http://www.youtube.com/?feature=player_embedded&v=dQw4w9WgXcQ // It also works on the youtube-nocookie.com URL with the same above options. // It will also pull the ID from the URL in an embed code (both iframe and object tags) $url = "https://www.youtube.com/watch?v=v2_MLFVdlQM"; preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $url, $match); $youtube_id = $match[1]; echo $youtube_id; ?>
sumber
Untuk mengekstraksi
id
in a capturing group, ekspresi berikut atau beberapa turunannya mungkin juga menjadi pilihan:(?im)\b(?:https?:\/\/)?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)\/(?:(?:\??v=?i?=?\/?)|watch\?vi?=|watch\?.*?&v=|embed\/|)([A-Z0-9_-]{11})\S*(?=\s|$)
Demo
Uji
$re = '/(?im)\b(?:https?:\/\/)?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)\/(?:(?:\??v=?i?=?\/?)|watch\?vi?=|watch\?.*?&v=|embed\/|)([A-Z0-9_-]{11})\S*(?=\s|$)/'; $str = 'http://youtube.com/v/tFad5gHoBjY https://youtube.com/vi/tFad5gHoBjY http://www.youtube.com/?v=tFad5gHoBjY http://www.youtube.com/?vi=tFad5gHoBjY https://www.youtube.com/watch?v=tFad5gHoBjY youtube.com/watch?vi=tFad5gHoBjY youtu.be/tFad5gHoBjY http://youtu.be/qokEYBNWA_0?t=30m26s youtube.com/v/7HCZvhRAk-M youtube.com/vi/7HCZvhRAk-M youtube.com/?v=7HCZvhRAk-M youtube.com/?vi=7HCZvhRAk-M youtube.com/watch?v=7HCZvhRAk-M youtube.com/watch?vi=7HCZvhRAk-M youtu.be/7HCZvhRAk-M youtube.com/embed/7HCZvhRAk-M http://youtube.com/v/7HCZvhRAk-M http://www.youtube.com/v/7HCZvhRAk-M https://www.youtube.com/v/7HCZvhRAk-M youtube.com/watch?v=7HCZvhRAk-M&wtv=wtv http://www.youtube.com/watch?dev=inprogress&v=7HCZvhRAk-M&feature=related youtube.com/watch?v=7HCZvhRAk-M http://youtube.com/v/dQw4w9WgXcQ?feature=youtube_gdata_player http://youtube.com/vi/dQw4w9WgXcQ?feature=youtube_gdata_player http://youtube.com/?v=dQw4w9WgXcQ&feature=youtube_gdata_player http://www.youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtube.com/?vi=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtube.com/watch?v=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtube.com/watch?vi=dQw4w9WgXcQ&feature=youtube_gdata_player http://youtu.be/dQw4w9WgXcQ?feature=youtube_gdata_player'; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); var_dump($matches);
Keluaran
array(30) { [0]=> array(2) { [0]=> string(32) "http://youtube.com/v/tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [1]=> array(2) { [0]=> string(34) "https://youtube.com/vi/tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [2]=> array(2) { [0]=> string(37) "http://www.youtube.com/?v=tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [3]=> array(2) { [0]=> string(38) "http://www.youtube.com/?vi=tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [4]=> array(2) { [0]=> string(43) "https://www.youtube.com/watch?v=tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [5]=> array(2) { [0]=> string(32) "youtube.com/watch?vi=tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [6]=> array(2) { [0]=> string(20) "youtu.be/tFad5gHoBjY" [1]=> string(11) "tFad5gHoBjY" } [7]=> array(2) { [0]=> string(27) "http://youtu.be/qokEYBNWA_0" [1]=> string(11) "qokEYBNWA_0" } [8]=> array(2) { [0]=> string(25) "youtube.com/v/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [9]=> array(2) { [0]=> string(26) "youtube.com/vi/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [10]=> array(2) { [0]=> string(26) "youtube.com/?v=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [11]=> array(2) { [0]=> string(27) "youtube.com/?vi=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [12]=> array(2) { [0]=> string(31) "youtube.com/watch?v=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [13]=> array(2) { [0]=> string(32) "youtube.com/watch?vi=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [14]=> array(2) { [0]=> string(20) "youtu.be/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [15]=> array(2) { [0]=> string(29) "youtube.com/embed/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [16]=> array(2) { [0]=> string(32) "http://youtube.com/v/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [17]=> array(2) { [0]=> string(36) "http://www.youtube.com/v/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [18]=> array(2) { [0]=> string(37) "https://www.youtube.com/v/7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [19]=> array(2) { [0]=> string(31) "youtube.com/watch?v=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [20]=> array(2) { [0]=> string(57) "http://www.youtube.com/watch?dev=inprogress&v=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [21]=> array(2) { [0]=> string(31) "youtube.com/watch?v=7HCZvhRAk-M" [1]=> string(11) "7HCZvhRAk-M" } [22]=> array(2) { [0]=> string(32) "http://youtube.com/v/dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [23]=> array(2) { [0]=> string(33) "http://youtube.com/vi/dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [24]=> array(2) { [0]=> string(33) "http://youtube.com/?v=dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [25]=> array(2) { [0]=> string(42) "http://www.youtube.com/watch?v=dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [26]=> array(2) { [0]=> string(34) "http://youtube.com/?vi=dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [27]=> array(2) { [0]=> string(38) "http://youtube.com/watch?v=dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [28]=> array(2) { [0]=> string(39) "http://youtube.com/watch?vi=dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } [29]=> array(2) { [0]=> string(27) "http://youtu.be/dQw4w9WgXcQ" [1]=> string(11) "dQw4w9WgXcQ" } }
Jika Anda ingin menyederhanakan / memodifikasi / menjelajahi ekspresi, itu telah dijelaskan di panel kanan atas regex101.com . Jika mau, Anda juga dapat melihat di tautan ini , bagaimana kecocokannya dengan beberapa masukan sampel.
Sirkuit RegEx
jex.im memvisualisasikan ekspresi reguler:
sumber
if (preg_match('![?&]{1}v=([^&]+)!', $url . '&', $m)) $video_id = $m[1];
sumber
(?<=\?v=)([a-zA-Z0-9_-]){11}
Ini harus dilakukan juga.
sumber
Saya memiliki beberapa konten kiriman yang harus saya sandi untuk mendapatkan ID Youtube-nya. Kebetulan dalam bentuk
<iframe>
kode sematan yang disediakan Youtube.<iframe src="http://www.youtube.com/embed/Zpk8pMz_Kgw?rel=0" frameborder="0" width="620" height="360"></iframe>
Pola berikut saya dapatkan dari @rob di atas. Cuplikan melakukan
foreach
loop setelah kecocokan ditemukan, dan untuk bonus tambahan saya menautkannya ke gambar pratinjau yang ditemukan di Youtube. Ini berpotensi cocok dengan lebih banyak jenis jenis sematan dan url Youtube:$pattern = '#(?<=(?:v|i)=)[a-zA-Z0-9-]+(?=&)|(?<=(?:v|i)\/)[^&\n]+|(?<=embed\/)[^"&\n]+|(?<=(?:v|i)=)[^&\n]+|(?<=youtu.be\/)[^&\n]+#'; preg_match_all($pattern, $post_content, $matches); foreach ($matches as $match) { $img = "<img src='http://img.youtube.com/vi/".str_replace('?rel=0','', $match[0])."/0.jpg' />"; break; }
Profil Rob: https://stackoverflow.com/users/149615/rob
sumber
$vid = preg_replace('/^.*(\?|\&)v\=/', '', $url); // Strip all meuk before and including '?v=' or '&v='. $vid = preg_replace('/[^\w\-\_].*$/', '', $vid); // Strip trailing meuk.
sumber
Saya tahu bahwa judul utas merujuk pada penggunaan regex, tetapi seperti yang dikatakan kutipan Zawinski, menurut saya menghindari regex adalah yang terbaik di sini. Saya akan merekomendasikan fungsi ini sebagai gantinya:
function get_youtube_id($url) { if (strpos( $url,"v=") !== false) { return substr($url, strpos($url, "v=") + 2, 11); } elseif(strpos( $url,"embed/") !== false) { return substr($url, strpos($url, "embed/") + 6, 11); } }
Saya merekomendasikan ini karena ID video YouTube selalu sama, terlepas dari gaya URL, mis
http://www.youtube.com/watch?v=t_uW44Bsezg
http://www.youtube.com/watch?feature=endscreen&v=Id3xG4xnOfA&NR=1
dan itu mungkin kasus untuk hal-hal yang disematkan dan disematkan
iframe
.sumber
Gunakan kode ini:
$url = "http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related"; $parse = parse_url($url, PHP_URL_QUERY); parse_str($parse, $output); echo $output['watch'];
hasil:
C4kxS1ksqtw
sumber
Baru saja menemukannya online di http://snipplr.com/view/62238/get-youtube-video-id-very-robust/
function getYouTubeId($url) { // Format all domains to http://domain for easier URL parsing str_replace('https://', 'http://', $url); if (!stristr($url, 'http://') && (strlen($url) != 11)) { $url = 'http://' . $url; } $url = str_replace('http://www.', 'http://', $url); if (strlen($url) == 11) { $code = $url; } else if (preg_match('/http:\/\/youtu.be/', $url)) { $url = parse_url($url, PHP_URL_PATH); $code = substr($url, 1, 11); } else if (preg_match('/watch/', $url)) { $arr = parse_url($url); parse_str($url); $code = isset($v) ? substr($v, 0, 11) : false; } else if (preg_match('/http:\/\/youtube.com\/v/', $url)) { $url = parse_url($url, PHP_URL_PATH); $code = substr($url, 3, 11); } else if (preg_match('/http:\/\/youtube.com\/embed/', $url, $matches)) { $url = parse_url($url, PHP_URL_PATH); $code = substr($url, 7, 11); } else if (preg_match("#(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+#", $url, $matches) ) { $code = substr($matches[0], 0, 11); } else { $code = false; } if ($code && (strlen($code) < 11)) { $code = false; } return $code; }
sumber
Saya menggunakan data dari jawaban Shawn tetapi menggeneralisasi dan memperpendek regex sedikit. Perbedaan utama dengan yang satu ini adalah bahwa itu tidak akan menguji URL Youtube yang valid, itu hanya akan mencari ID video. Artinya itu masih akan mengembalikan ID video untuk
www.facebook.com?wtv=youtube.com/v/vidid
. Bekerja untuk semua kasus pengujian, tetapi sedikit lebih longgar. Akibatnya, ini akan menghasilkan positif palsu untuk sesuatu sepertihttps://www.twitter.com/watch?v=vidid
. Gunakan metode ini jika datanya sangat tidak konsisten, jika tidak, gunakan regex atauparse_url()
danparse_str()
.preg_match("/([\?&\/]vi?|embed|\.be)[\/=]([\w-]+)/",$url,$matches); print($matches[2]);
sumber
Saya pikir Anda mencoba melakukan ini.
<?php $video = 'https://www.youtube.com/watch?v=u00FY9vADfQ'; $parsed_video = parse_url($video, PHP_URL_QUERY); parse_str($parsed_video, $arr); ?> <iframe src="https://www.youtube.com/embed/<?php echo $arr['v']; ?>" frameborder="0"> </iframe>
sumber
dan bagaimana jika saya ingin mengekstrak url youtue dari string yang penuh dengan karakter lain? seperti ini:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercise ullamco https://www.youtube.com/watch?v=cPW9Y94BJI0 laboris nisi ut aliquip ex ea commodo konsekuensi. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Kecuali terjadi cupidatat nonproident, yang dilakukan di kantor pusat dari pekerja di luar negeri.
dan dapatkan https://www.youtube.com/watch?v=cPW9Y94BJI0 dari string itu?
sumber