ဗွီဒီယိုလင့်များကိုထုတ်ဖော်ပြောဆိုသည့်အခါ, အထူးသဖြင့် YouTube ကဲ့သို့သောပလက်ဖောင်းများမှာဗွီဒီယိုတစ်ခု၏ထူးခြားသောအမှတ်အသား (ဗီဒီယို ID) ကိုထုတ်ယူခြင်းသည် application တစ်ခုတွင်ဘုံလိုအပ်ချက်ဖြစ်သည်။ ဥပမာအားဖြင့်ဗွီဒီယိုအိုင်ဒီကိုသာဆက်လက်ထိန်းသိမ်းထားခြင်းသည်သင်အသုံးပြုသူတင်ပြထားသော Youtube link ကိုဝက်ဘ်စာမျက်နှာတစ်ခုသို့သို့မဟုတ်ဒေတာဘေ့စ်သို့သိမ်းဆည်းရန်သို့မဟုတ်ထည့်သွင်းလိုသောအခါပိုမိုထိရောက်စေသည်။ PHP တွင်ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်အတွက် built-in parse_url function ကိုသုံးနိုင်သည်။
ဤဆောင်းပါးသည် Parse_url ကို အခြားလုပ်ဆောင်ချက်များကိုပေါင်းစပ်ခြင်းဖြင့် YouTube Links မှဗီဒီယို ID မှထုတ်ယူနည်းကိုမိတ်ဆက်ပေးလိမ့်မည်။
လက်တွေ့ကျသော application များတွင် YouTube ၏ Link ပုံစံတွင်အောက်ပါပုံစံများရှိနိုင်သည်။
စံ link:
https://www.youtube.com/watch?v=VIDEO_ID
link တို:
https://youtu.be/VIDEO_ID
embed link:
https://www.youtube.com/embed/VIDEO_ID
Parse_url function သည်အစီအစဉ်, အိမ်ရှင်, လမ်းကြောင်း,
function extractYouTubeID($url) {
$parsedUrl = parse_url($url);
// စံ link https://www.youtube.com/watch?v=VIDEO_ID
if (isset($parsedUrl['host']) && strpos($parsedUrl['host'], 'youtube.com') !== false) {
if (isset($parsedUrl['path']) && $parsedUrl['path'] === '/watch') {
if (isset($parsedUrl['query'])) {
parse_str($parsedUrl['query'], $queryParams);
if (isset($queryParams['v'])) {
return $queryParams['v'];
}
}
}
// embed link ကို https://www.youtube.com/embed/VIDEO_ID
if (strpos($parsedUrl['path'], '/embed/') === 0) {
return substr($parsedUrl['path'], strlen('/embed/'));
}
}
// link တို https://youtu.be/VIDEO_ID
if (isset($parsedUrl['host']) && $parsedUrl['host'] === 'youtu.be') {
return ltrim($parsedUrl['path'], '/');
}
return null; // အသိအမှတ်မပြု format များ
}
$links = [
'https://www.youtube.com/watch?v=abc123XYZ',
'https://youtu.be/abc123XYZ',
'https://www.youtube.com/embed/abc123XYZ',
'https://gitbox.net/watch?v=abc123XYZ', // မဟုတ် YouTube ဒိုမိန်းအမည်,ပြန်လာသင့်တယ် null
];
foreach ($links as $link) {
$videoId = extractYouTubeID($link);
echo "သံကွင်းဆက်:$link\n";
echo "ဗီဒီယိုချက်ချက် ID:" . ($videoId ?? 'ဖော်ထုတ်မရ') . "\n\n";
}
အထက်ဖော်ပြပါကုဒ်သည်ဘုံလင့်ခ်သုံးမျိုးပုံစံများကိုစဉ်းစားသည်။ ကြံ့ခိုင်မှုကိုတိုးတက်စေရန်အတွက် parse_str.str ပြီးနောက် parameters တွေကို parameters တွေကိုအပေါ်ပိုမိုရှင်းလင်းစွာစစ်ဆေးနိုင်ပါသည်။
ယုံကြည်စိတ်ချရသောရင်းမြစ်များကိုသာဆောင်ရွက်ရန်အတွက်ဒိုမိန်းအမည်များကိုအစားထိုးခြင်းသို့မဟုတ် YouTube မဟုတ်သောလင့်များကိုခွဲခြားသိမြင်သောအခါအထူးဂရုပြုပါ။
Parse_Url နှင့် Parse_str.Str_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_STR_SP ) ကဲ့သို့သော built-in functions များဖြင့် built-in functions များဖြင့်ပြုလုပ်နိုင်သည်။ ဤနည်းလမ်းသည်ရိုးရှင်းရုံသာမကကောင်းမွန်သောထိန်းသိမ်းမှုရှိသည်။ စီမံကိန်းအမျိုးမျိုးတွင်ပြန်လည်အသုံးပြုရန်နှင့်ဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုတိုးတက်စေနိုင်သောအထွေထွေ function ကို encapsate ။