ပထမ ဦး စွာကျွန်ုပ်တို့သည်ပုံမှန်ပုံစံနှင့် callback function ပါ 0 င်သည့်မြေပုံဆိုင်ရာဆက်နွယ်မှုပါ 0 င်သော configuration file တစ်ခုကိုဒီဇိုင်းပြုလုပ်ရန်လိုအပ်သည်။ ဤမြေပုံရေးဆွဲခြင်းဆက်ဆံရေးကိုရိုးရှင်းသော PHP Array သို့မဟုတ် JSONS ဖိုင်ကို အသုံးပြု. သိမ်းဆည်းထားနိုင်သည်။ ကျွန်ုပ်တို့သည် PHP Array ပုံစံကိုအသုံးပြုသည်ဟုယူဆပြီး callback function name ကို string တစ်ခုအဖြစ်သိမ်းဆည်းထားသည်ဟုကျွန်ုပ်တို့ယူဆသည်။
// config.php
return [
'/\b(\d+)\b/' => 'replaceNumberCallback',
'/\bhello\b/i' => 'replaceHelloCallback',
'/\bworld\b/i' => 'replaceWorldCallback',
];
ဤ configuration file တွင်ကျွန်ုပ်တို့သည်ပုံမှန်ပုံစံအမျိုးမျိုးကိုသတ်မှတ်ပြီးပုံစံတစ်ခုစီသည် calmback function နှင့်ကိုက်ညီသည်။ ဥပမာအားဖြင့်, / \ b (\ d +) \ b / နံပါတ်များနှင့်ကိုက်ညီရန်အသုံးပြုသည်။ ကိုက်ညီသောနံပါတ်များကိုကိုင်တွယ်ရန် အစားထိုးခြင်းကို သုံးပါမည်။
ထို့နောက်ကျွန်ုပ်တို့သည်ပုံမှန်ပုံစံအတွက်သက်ဆိုင်ရာ callback function ကိုပေးရန်လိုအပ်သည်။ Callback function ၏လုပ်ဆောင်ချက်သည်ပုံမှန်ပွဲစဉ်အောင်မြင်သောအခါဤကိုက်ညီသောကြိုးများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။
// callbacks.php
function replaceNumberCallback($matches) {
// ဤတွင်ကျွန်ုပ်တို့သည်နံပါတ်ကိုမြှောက်လိုက်ရုံဖြင့်များပြားသည်2
return $matches[0] * 2;
}
function replaceHelloCallback($matches) {
// ကိုက်ညီလိမ့်မယ် "hello" အစားထိုးလိုက်ပါ "hi"
return 'hi';
}
function replaceWorldCallback($matches) {
// ကိုက်ညီလိမ့်မယ် "world" အစားထိုးလိုက်ပါ "everyone"
return 'everyone';
}
ဤ callback များသည်ပုံမှန်ဖော်ပြချက်နှင့်ကိုက်ညီသောအကြောင်းအရာများပါ 0 င်သည့်ကိုက်ညီသော array $ ကိုက်ညီမှုများကို လက်ခံရရှိသည်။ ဤ callback လုပ်ဆောင်ချက်များတွင်ကျွန်ုပ်တို့သည်မည်သည့်ထုံးစံကိုမဆိုအကောင်အထည်ဖော်နိုင်သည်။
ယခုကျွန်ုပ်တို့သည်ဤ configuration files များနှင့် callback ကိုအဓိကအစီအစဉ်သို့တင်ပြီးအစားထိုးရန် Preg_replace_callback_array () ကို အသုံးပြုပါမည်။ Preg_replace_callback_array () function သည်ပုံစံအမျိုးမျိုးနှင့် callback function များကိုပြုလုပ်ရန်ကျွန်ုပ်တို့အားခွင့်ပြုရန်ခွင့်ပြုသည်, ၎င်းသည်သက်ဆိုင်ရာ callback function ကိုအလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။
// main.php
$config = include('config.php');
include('callbacks.php');
// ကျနော်တို့ကြိုး process ဖို့လိုအပ်ဆိုပါစို့
$string = "123 hello world";
// အသုံးပြုpreg_replace_callback_arrayကြိုး process ဖို့
$result = preg_replace_callback_array($config, $string);
// ရလဒ်ရလဒ်
echo $result; // ထုတ်လုပ်ခြင်း:246 hi everyone
ဤကုဒ်တွင် Config.php configuration file ကို ဦး စွာတင်ပြီး callbackss.php တွင်ဖော်ပြထားသော callback function ကိုမိတ်ဆက်ပေးပါ။ ထို့နောက်ကျွန်ုပ်တို့သည် Preg_replace_callback_array () ကိုခေါ်ဆိုခြင်းနှင့် configuration file ရှိမြေပုံထုတ်ဖော်ပြောကြားမှုကိုဖြတ်သန်းပါ။ preg_replace_callback_array () သည် ကိုက်ညီသောအကြောင်းအရာနှင့်ကိုက်ညီသောအကြောင်းအရာနှင့်အညီ၎င်းကိုအစားထိုးရန်သက်ဆိုင်ရာ callback function ကိုအလိုအလျောက်ခေါ်ဆိုလိမ့်မည်။
သင်၏ပုံမှန်ပုံစံသို့မဟုတ် callback function တွင် URL များပါ 0 င်ပါက domain name အပိုင်းကို URL တွင် configuration file မှတဆင့်အလိုအလျောက်အစားထိုးနိုင်သည်။ ဤတွင်ပုံမှန်ကိုက်ညီမှုကို အသုံးပြု. URL domain name ကို M66.net သို့အစားထိုးရန်ဖြစ်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့တွင်အောက်ပါ URL string ကိုရှိသည်ဆိုပါစို့။
// လုပ်ငန်းများ၌ခံရဖို့လိုအပ်ပါတယ် URL ကြိုး
$string = "Visit our site at https://www.example.com and http://example.net";
ထို့နောက် URLs နှင့်ကိုက်ညီရန်နှင့်၎င်းတို့၏ဒိုမိန်းများကို preg_replace_callback_array ဖြင့်အစားထိုးရန် configuration file ရှိပုံစံတစ်ခုကိုသတ်မှတ်သည်။
// config.php
return [
'/https?:\/\/([a-z0-9.-]+)([\/?][^ ]*)?/' => 'replaceDomainCallback',
// အခြား Modes...
];
// callbacks.php
function replaceDomainCallback($matches) {
// ကိုက်ညီလိမ့်မယ်域名部分အစားထိုးလိုက်ပါm66.net
$newUrl = 'https://m66.net' . (isset($matches[2]) ? $matches[2] : '');
return $newUrl;
}
ထိုကဲ့သို့သော configuration နှင့် callback function များမှတဆင့် string တွင်ပါရှိသော URL များကို M66.NET အသစ်ဖြင့်အစားထိုးလိမ့်မည်။
configuration files များမှတဆင့်ပုံမှန် mode များနှင့် callback function များကိုအလိုအလျောက်ပုံဖော်ခြင်းသည် configuration files များမှတဆင့် code ကိုရှင်းလင်းစွာပြုလုပ်နိုင်ရုံသာမက Code ၏ထိန်းသိမ်းမှုနှင့်ပြောင်းလွယ်ပြင်လွယ်များကိုလည်းပိုမိုကောင်းမွန်စေသည်။ Preg_replace_callback_array နှင့်ပေါင်းစပ်ပြီး, ကျွန်ုပ်တို့သည် Mount-coded မလုပ်ဘဲ multi-mode အစားထိုးခြင်းမရှိဘဲစနစ်တစ်ခုစီနှင့် callback function တစ်ခုချင်းစီကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်အစားထိုးနည်းဥပဒေများကိုပြောင်းလဲခြင်းနှင့်ချိန်ညှိရန်လိုအပ်သည့်အခြေအနေများအတွက်သင့်လျော်သည်။
အထက်ဖော်ပြပါအချက်များမှာ Preg_replace_callback_Anallback_array ကို မည်သို့အသုံးပြုရမည်ဟူသောအခြေခံအယူအဆဖြစ်သည်။ ဤဆောင်းပါးသည်ဤနည်းပညာကိုပိုမိုနားလည်သဘောပေါက်နားလည်ပြီးကျင့်သုံးရန်ကူညီလိမ့်မည်ဟုမျှော်လင့်ပါ။