Web Development လုပ်သည့်အခါ protocols များ, hosts query parameters များစသည့် URLs များမှအသုံးဝင်သောသတင်းအချက်အလက်များကိုယူဆောင်ရန်လိုအပ်သည်။ PHP's Parse_url function ကို url ၏ဤအပိုင်းများကိုခွဲခြမ်းစိတ်ဖြာရန်အဆင်ပြေသောနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည်အပိုင်းအစများပါ 0 င်သည့် URLs များကိုလုပ်ဆောင်သောအခါဤလုပ်ဆောင်မှုသည်မည်သို့ပြုမူသည်ကိုအထူးအာရုံစိုက်မည်ဖြစ်သည်။
URL တွင်ကျောက်ဆူးတစ်ခု ("အပိုင်းအစအမှတ်အသား" ဟုလည်းခေါ်သည် ။ ဥပမာအားဖြင့်:
https://gitbox.net/articles/php?query=test#section2
# ဤနေရာတွင်ဤနေရာတွင်ဆာဗာသို့ပို့ခြင်းမရှိသေးသော URL ရှိကျောက်ဆူးအမှတ်ဖြစ်သည်။ သို့သော်စာရွက်စာတမ်းရှိသတ်သတ်မှတ်မှတ်တည်နေရာကိုရှာရန် browser ကအသုံးပြုလိမ့်မည်။
PHP ၏ Parse_url function ၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
parse_url(string $url, int $component = -1): mixed
$ url : prated ခံရဖို့ URL string;
$ အစိတ်အပိုင်း - အကယ်. ခွင့်ပြုထားသော optional parameter, အကယ်. ထောက်ပံ့ပေးထားပါကသတ်မှတ်ထားသောအပိုင်းကို (php_url_url_path စသည်တို့ ) ကိုပြန်ပို့လိမ့်မည်။
ပြန်လာတန်ဖိုးမှာ URL ၏မတူညီသောအစိတ်အပိုင်းများပါ 0 င်သည့်အပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုတစ်ခုဖြစ်သည်။
ကျောက်ဆူးပါ 0 င်သော URL ဖြင့်၎င်းကိုစမ်းသပ်သည်။
$url = "https://gitbox.net/path/page.php?foo=bar#top";
$parsed = parse_url($url);
print_r($parsed);
လုပ်ဆောင်ချက်များကိုအောက်ပါအတိုင်းဖြစ်သည် -
Array
(
[scheme] => https
[host] => gitbox.net
[path] => /path/page.php
[query] => foo=bar
[fragment] => top
)
ရလဒ်မှတွေ့မြင်နိုင်သည့်အတိုင်း Parse_URL သည် အပိုင်းအစ အပိုင်းကိုအောင်မြင်စွာအသိအမှတ်ပြုပြီး တန်ဖိုးကို အပိုင်းအစ နှင့်အတူပြန်ပို့သည်။
အကယ်. သင်သည်ကျောက်ဆူးအပိုင်းကိုသာဂရုစိုက်ပါက php_Url_fragment စဉ်ဆက်မပြတ်အသုံးပြုနိုင်သည်။
$fragment = parse_url($url, PHP_URL_FRAGMENT);
echo $fragment; // ထုတ်လုပ်ခြင်း:top
ဒီဟာက urls တွေကို urls တွေမှာ urls တွေမှာ urls တွေထဲမှာအလျင်အမြန်နေရာချထားနိုင်ဖို့အရမ်းမြန်တယ်။
ကျောက်ဆူးအချက်များသည်လမ်းကြောင်းများသို့မဟုတ်မေးမြန်းမှု resolution ကိုအကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ ကျောက်ဆူးအပိုင်းသည်လမ်းကြောင်းနှင့် စုံစမ်းမှု ဆိုင်ရာသတ်မှတ်ချက်များအပြီးပေါ်လာသည် ။
starment သည် ကျောက်ဆူးအမှတ်များမပါဘဲခင်းကျင်းမှုတွင်မပေါ်လာပါ URL တွင်ကျောက်ချရပ်နားမျှမရှိလျှင်ပြန်လာသောခင်းကျင်းမှုသည် fragment key မပါပါ။
အဘယ်သူမျှမ URL decoding ဖျော်ဖြေနေသည်
Parse_Url သည် string parsing ကိုသာလုပ်ဆောင်သည်။ အပိုင်းတစ်ခုစီအတွက် URL decoding မလုပ်နိုင်ပါ။ အကယ်. သင်သည်တရုတ်သို့မဟုတ် encoded စာလုံးများကိုဖတ်ရန်လိုအပ်ပါက urDececode () ကို ထပ်မံလုပ်ဆောင်ရန်လိုအပ်သည်။
Parse_url သည် PHP တွင် URLs များကို PHP ရှိ URL များကိုကိုင်တွယ်ရန်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် developer များက URL များကိုအလွယ်တကူဖြုတ်ပြီးအသုံးဝင်သောသတင်းအချက်အလက်များကိုရယူနိုင်ပြီး၎င်းတို့၏ကုဒ်များ၏ဖတ်နိုင်မှုနှင့်ထိန်းသိမ်းခြင်းကိုတိုးတက်စေနိုင်သည်။ အထူးသဖြင့်သတင်းအချက်အလက်သို့မဟုတ်ရှေ့မှောက်သွားသောသွားလာမှုနှင့်အတူ URLs နှင့်ဆက်ဆံရာတွင်မှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာခြင်းကျောက်ဆူးအချက်များသည်စာမျက်နှာအပြုအမူသို့မဟုတ်ခုန်ဆုံဆည်းရာကိုပိုမိုတိကျစွာထိန်းချုပ်နိုင်သည်။