PHP တွင် PREG_RESTER_CALLESTER_CALLALK_ARRAY သည်ပုံမှန်အသုံးအနှုန်းများကိုပုံမှန်ဖော်ပြရန်နှင့်သတ်မှတ်ထားသော callback function များကိုလုပ်ဆောင်နိုင်သည့်အလွန်အစွမ်းထက်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ပုံမှန်အားဖြင့်ပုံမှန်ဖော်ပြချက်တစ်ခုစီအတွက် callback function ကိုသတ်မှတ်ရန်ကျွန်ုပ်တို့လိုအပ်သည်။ ဤလုပ်ငန်းစဉ်ကိုရိုးရှင်းစေရန် Preg_replace_callback_array ၏ callablback_array ၏ callback_array ကိုရှင်းရှင်းလင်းလင်းပြုလုပ်ရန် COMPBECK အဖွဲ့များကိုပိုမိုရှင်းလင်းစွာပြုလုပ်နိုင်သည်။
ပုံမှန်အသုံးအနှုန်းများတွင်အုပ်စုလိုက်အမည်မှာကိုက်ညီသောရလဒ်အတွက်အမည်ရှိအမှတ်အသားတစ်ခုဖြစ်ပြီး၎င်းသည်လိုက်ဖက်သည့်အကြောင်းအရာများကိုအမည်ဖြင့်ဖော်ပြထားသောအကြောင်းအရာကိုအမည်ဖြင့်ရယူရန်ခွင့်ပြုသည်။ အုပ်စုတစ်စုကိုအမည်ပေးခြင်းအတွက် syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
(?<name>pattern)
ထိုအုပ်စုအတွက်သင်ပေးသောအ မည်သည် မည်သည့်နေရာတွင်ဖော်ပြထားခြင်းနှင့် ပုံစံ သည်အမှန်တကယ်ပုံမှန်အသုံးအနှုန်းပုံစံဖြစ်သည်။
Preg_replace_callback_array တွင်ကျွန်ုပ်တို့သည်များသောအားဖြင့်ပုံစံအမျိုးမျိုးနှင့်သက်ဆိုင်ရာ callback functions များပါ 0 င်သောခင်းကျင်းမှုများကိုပြုလုပ်လေ့ရှိသည်။ ပုံမှန်အသုံးအနှုန်းမျိုးစုံပြုလုပ်ရန်လိုအပ်သည့်အခါ၎င်းသည်ကုဒ်တစ်ခုစီအတွက် callback function ကိုရေးရန်လိုအပ်သည်။ Named Grouping ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကိုက်ညီမှုကိုပိုမိုအလိုလိုသိနိုင်ပြီး callback ယုတ္တိဗေဒအပေါ်မှီခိုမှုကိုလျှော့ချနိုင်သည်။
ဒီနေရာမှာတိကျတဲ့ဥပမာတစ်ခုပါ။
ကျွန်ုပ်တို့တွင် query parameterskers အချို့ကို preg_replace_callback_array မှတဆင့်အစားထိုးရန်လိုအပ်သည့် URLs အစုတခုရှိသည်ဆိုပါစို့။ အမည်ရှိအုပ်စုဖွဲ့ခြင်းအားဖြင့် callback လုပ်ဆောင်ချက်များ၏ယုတ္တိဗေဒကိုရိုးရှင်းနိုင်သည်။
<?php
// ပုံမှန်အသုံးအနှုန်းများနှင့် callback function များပါ 0 င်သည့်ခင်းကျင်းမှုကိုသတ်မှတ်ပါ
$patterns = [
'/(?<scheme>https?):\/\/(?<host>[a-zA-Z0-9.-]+)\/(?<path>[^?]+)\?(?<query>.*)/' => function ($matches) {
// အမည်ရှိအုပ်စုဖွဲ့ခြင်းအားဖြင့်ကိုက်ညီသောရလဒ်များကိုရယူပါ
$scheme = $matches['scheme'];
$host = $matches['host'];
$path = $matches['path'];
$query = $matches['query'];
// ဤနေရာတွင်သင်သည်စုံစမ်းမှုသတ်မှတ်ချက်များကို process လုပ်နိုင်သည်
$query = str_replace('example.com', 'm66.net', $query);
// အစားထိုး string ကိုပြန်လည်ရောက်ရှိ
return $scheme . '://' . $host . '/' . $path . '?' . $query;
}
];
// ဘာတွေကိုင်တွယ်ရမလဲ URL စာရင်း
$urls = [
'https://example.com/path/to/resource?param1=value1¶m2=value2',
'http://example.com/another/path?param1=value1',
];
// အသုံးပြု preg_replace_callback_array အစားထိုးပါစေ
$updatedUrls = preg_replace_callback_array($patterns, $urls);
// အစားထိုးပြီးနောက်ရလဒ် output ကို
foreach ($updatedUrls as $url) {
echo $url . PHP_EOL;
}
?>
ပုံမှန်အသုံးအနှုန်းအပိုင်း:
(? <scheme> HTTPS?) : http သို့မဟုတ် https နှင့် https နှင့်အိုင်တီ အစီအစဉ်ကို ဖော်ပြပါ။
(? <host> [a-za-z0-9 ။ ] +) : ဒိုမိန်းအမည်နှင့် အိုင်တီ host name name name name name name ကိုကိုက်ညီပါ။
(? <path> [^?] +) : လမ်းကြောင်းအပိုင်းနှင့်ကိုက်ညီပါ ။
(? <query> ။ *) : စုံစမ်းမှု parameter အစိတ်အပိုင်းနှင့် အမည်စာရင်းကို ကိုက်ညီပါ။
CallBack function ကိုအပိုင်း - Callback function တွင်ကျွန်ုပ်တို့သည်ပုံမှန်အသုံးအနှုန်း၏အစိတ်အပိုင်းများကို ပွဲများ ဖွင့်လှစ်ခြင်းဖြင့် (ဥပမာ - ဒေါ်လာပွဲများ ) ကိုရိုးရှင်းအောင်ပြုလုပ်နိုင်သည်။ စုံစမ်းမှု string အပိုင်းကိုလည်းကျွန်ုပ်တို့လုပ်ဆောင်ပြီး Domain Name.com ကို M66.net ဖြင့်အစားထိုးခဲ့သည်။
Preg_replace_callback_array : ဤလုပ်ဆောင်မှုသည်ပုံမှန်အသုံးအနှုန်းများနှင့် callback function များကို unry တစ်ခုနှင့်ကိုက်ညီပြီးသက်ဆိုင်ရာ callback function များကိုလုပ်ဆောင်သည်။