نحوه دریافت ویدیو آیدی یوتیوب با PHP

نحوه دریافت ویدیو آیدی یوتیوب با PHP

نحوه دریافت ویدیو آیدی یوتیوب با PHP – یوتیوب آیدی YouTube ID رشته ای از 11 کاراکتر است که از هر دو حروف بزرگ و کوچک و مقادیر عددی تشکیل شده است . برای تعریف منحصر به فرد یک فیلم YouTube استفاده می شود. پیوند به هر ویدیوی YouTube شامل شناسه YouTube آن در قالب query است که متغیر آن به طور کلی “v” یا “vi” نوشته شده است یا می تواند به عنوان “youtu.be/” نمایش داده شود.

نمونه هایی از شناسه YouTube از پیوند داده شده :

“https://youtu.be/WAT0cpxC-J8”

“https://www.youtube.com/watch؟v=WAT0cpxC-J8”

“https://www.youtube.com/watch؟vi=WAT0cpxC-J8”

“https://www.youtube.com/؟v=WAT0cpxC-J8”

“https://www.youtube.com/؟vi=WAT0cpxC-J8”


روش 1 : استفاده از regex

در همه این آدرس ها رشته “WAT0cpxC-J8 ” YouTube شناسه است. اکنون با استفاده از این دانش می توان یک regex برای واکشی شناسه YouTube از پیوند داده شده در PHP ایجاد کرد.

Regex: اکنون می دانیم که پنج قالب اصلی وجود دارد که می توانیم از طریق آن شناسه YouTube را بدست آوریم یعنی v = یا vi = یا v / یا vi / یا youtu.be/. بنابراین وقتی query از “?” یا ‘yout.be/’ ، شروع می شود می توانیم شناسه پیدا کنیم . قسمت قبل از ? را نادیده می گیریم .


پس الگوی regex اینگونه خواهد بود .

preg_match_all("#(?<=v=|v\/|vi=|vi\/|youtu.be\/)[a-zA-Z0-9_-]{11}#", $url, $match);

در این مثال ، شناسه YouTube را نشان می دهد که در آن ورودی YouTube خواهد بود.

<?php 
$url = 'https://youtu.be/WAT0cpxC-J8 
https://www.youtube.com/watch?v=WAT0cpxC-J8
https://www.youtube.com/watch?vi=WAT0cpxC-J8
https://www.youtube.com/?v=WAT0cpxC-J8
https://www.youtube.com/?vi=WAT0cpxC-J8'; 

preg_match_all("#(?<=v=|v\/|vi=|vi\/|youtu.be\/)[a-zA-Z0-9_-]{11}#", 
                            $url, $matches); 

print_r($matches[0]); 

?> 

خروجی :

Array (
 [0] => WAT0cpxC-J8
 [1] => WAT0cpxC-J8
 [2] => WAT0cpxC-J8
 [3] => WAT0cpxC-J8
 [4] => WAT0cpxC-J8
)


روش 2 : استفاده از تابع parse_str و parse_url

به جای استفاده از regex ، می توانیم با استفاده از دو تابعی که وجود دارد ، به متغیر یا query دسترسی پیدا کنیم parse_str و  parse_url و متغیر خروجی را به عنوان پارامتر در نظر گرفته و تمام مقادیر پرس و جو url را در متغیر خروجی قرار می دهد.

parse_url را با فرمت رشته و یک مقدار عدد صحیح می گیرد و بسته به مقدار عدد صحیح منتقل شده ، لیست ویژگی های مختلف موجود در url را برمی گرداند.

parse_str می تواند query رشته ای را پردازش کرده و در قالب یک آرایه برگرداند .

مثال:

<?php 

// Store the URL inot variable 
$url = 'https://www.youtube.com/watch?v=WAT0cpxC-J8'; 
$url1='https://www.youtube.com/?vi=WAT0cpxC-J8'; 

// Use parse_str() function to parse the query string 
parse_str( parse_url( $url, PHP_URL_QUERY ), $youtube_id_v ); 
parse_str( parse_url( $url1, PHP_URL_QUERY ), $youtube_id_vi ); 

// Display the output 
echo $youtube_id_v['v'] . "\n"; 
echo $youtube_id_vi['vi']; 

?>  

خروجی :

WAT0cpxC-J8
WAT0cpxC-J8

ارسال نظر