PHP Development တွင် Php Development တွင် Parse_URL () သည် URL များကို၎င်းတို့၏အစိတ်အပိုင်းများကို ၎င်းတို့၏ အစိတ်အပိုင်းများကိုခွဲခြားရန်အသုံးပြုသောအလွန်အသုံးများသော function တစ်ခုဖြစ်ပြီး, စံနှုန်း။
Parse_Url () URL string ကိုလက်ခံပြီး URL ၏အစိတ်အပိုင်းများပါ 0 င်သောအပေါင်းအသင်းခင်းကျင်းမှုကိုပြန်လည်ရယူသည်။
$url = "http://localhost:8080/test/index.php?foo=bar";
$parsed = parse_url($url);
print_r($parsed);
output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
Array
(
[scheme] => http
[host] => localhost
[port] => 8080
[path] => /test/index.php
[query] => foo=bar
)
ဆိုလိုသည်မှာ localhost ကို အိမ်ရှင်အမည်နှင့်ဆိပ်ကမ်း, လမ်းကြောင်းနှင့်စုံစမ်းမှုဆိုင်ရာသတ်မှတ်ချက်များကိုအောင်မြင်စွာထုတ်ယူနိုင်သည့်အတွက်မှန်ကန်စွာအသိအမှတ်ပြုသည်။
အစီအစဉ်မရှိဘဲ ( http: // ), parse_url () အပြုအမူပြောင်းလဲမှုများ, အထူးသဖြင့် localhost / test စသည့် URLs များနှင့်ဆက်ဆံရာတွင်အထူးသဖြင့်အပြုအမူပြောင်းလဲခြင်း။ ဥပမာအားဖြင့်:
$url = "localhost/test";
$parsed = parse_url($url);
print_r($parsed);
output ကိုဖြစ်လိမ့်မည်:
Array
(
[path] => localhost/test
)
ဤအချိန်တွင် localhost သည်အိမ်ရှင်အမည်မဟုတ်ဘဲလမ်းကြောင်း၏တစ်စိတ်တစ်ပိုင်းအဖြစ်မှားယွင်းစွာကုသသည်။ Host ကိုမှန်ကန်စွာအသိအမှတ်ပြုရန် Parse_URL () အတွက် URL သည် Scheme ဖြင့်စတင်ရမည်။ // ။
ဖြေရှင်းချက် - Parse_URL () မသုံးမီ URL တွင်အပြည့်အဝအစီအစဉ်တွင်သေချာအောင်လုပ်ပါ။
if (!preg_match('#^[a-zA-Z][a-zA-Z0-9+.-]*://#', $url)) {
$url = 'http://' . $url;
}
$parsed = parse_url($url);
Intranet လိပ်စာများ (ဥပမာ - 192.168.1.1.1.1.1.1.0.2 ကဲ့သို့) အစီအစဉ်နှင့်အတူပြ problems နာမရှိပါ။
$url = "http://192.168.1.100/dashboard";
$parsed = parse_url($url);
output ကိုပုံမှန်ဖြစ်ပါတယ်:
Array
(
[scheme] => http
[host] => 192.168.1.100
[path] => /dashboard
)
အဓိကအချက် - IP လိပ်စာများအတွက်ပင် http: // သို့မဟုတ်အခြား protocol headers များပါ 0 င်ရမည်။
တစ်ခါတစ်ရံတွင် localhost လိပ်စာသည် port သို့မဟုတ် user authentication information များရှိနိုင်သည်။
$url = "http://user:pass@localhost:8080/secure";
$parsed = parse_url($url);
ထုတ်လုပ်မှု -
Array
(
[scheme] => http
[host] => localhost
[port] => 8080
[user] => user
[pass] => pass
[path] => /secure
)
ဤအချက်က Parse_URL () သည် အသုံးပြုသူ authentication ကိုမှန်ကန်စွာခွဲခြားသတ်မှတ်နိုင်ကြောင်းပြသသည်။
0 န်ဆောင်မှုတစ်ခုအနေဖြင့် intranet address ကိုဥပမာတစ်ခုအနေဖြင့်ယူပြီးကျွန်ုပ်တို့၏အတွင်းပိုင်း 0 န်ဆောင်မှုတစ်ခုမှာ http://192.168.0.88:3000/status တွင်အသုံးပြုသည်။
$urls = [
'http://localhost:8000/api',
'192.168.0.88:3000/status', // ဘာမှျ scheme
'http://user:[email protected]:9000/panel'
];
foreach ($urls as $url) {
if (!preg_match('#^[a-zA-Z][a-zA-Z0-9+.-]*://#', $url)) {
$url = 'http://' . $url;
}
$parsed = parse_url($url);
print_r($parsed);
}
output ရလဒ်များသည်နောက်ထပ်ပြုပြင်ထုတ်လုပ်ခြင်း, အတည်ပြုခြင်း,
Parse_url () ကိုအသုံးပြုသောအခါ localhost သို့မဟုတ် intranet လိပ်စာများကိုခွဲခြမ်းစိတ်ဖြာရန်အောက်ပါအချက်များကိုဂရုပြုပါ။
URL တွင် scheme ( http: // ) ပါ 0 င ် ရမည်။
format ကိုစံသတ်မှတ်ချက်စံသတ်မှတ်ချက်ကာလပတ်လုံး Intranet IP နှင့် localhost ကိုမှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
အသုံးပြုသူမှ 0 င်ရောက်သော URL တည်ရှိပါက သင်အစီအစဉ်ကိုဖြည့်စွက်စသည့် URL ကိုအရင်ပုံမှန်ပုံမှန်ဖြစ်စေရမည် ။
Parse_Url () URL ၏တရားဝင်မှုကိုအတည်မပြုနိုင်ပါ။ ၎င်းသည် string parsing ကိုသာလုပ်ဆောင်သည်။ Filter_VAR () နှင့်ပေါင်းစပ်။ နောက်ထပ်ဆုံးဖြတ်ချက်ချရန်လိုအပ်သည်။
Parse_Url () ကိုမှန်ကန်သောအသုံးပြုမှုသည်ဒေသတွင်းနှင့် intranet 0 န်ဆောင်မှုဆိုင်ရာလိပ်စာများကိုဖွံ့ဖြိုးတိုးတက်စေရန်နှင့် code အားကြံ့ခိုင်ခြင်းနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်အောင်ကူညီနိုင်သည်။