PHP တွင် string processing သည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ အချက်အလက်ရှုပ်ထွေးမှုတိုးများလာသည်နှင့်အမျှစွမ်းဆောင်ရည်နှင့်ထိန်းသိမ်းမှုအကြားမျှတမှုကိုမည်သို့ရှာဖွေရမည်နည်း။ preg_replace , strust'replace စသဖြင့် preg_replace, strustoplace စသည်ဖြင့်အများအားဖြင့်လုပ်ဖော်ကိုင်ဖက်များလုပ်ဆောင်မှုများပြုလုပ်နိုင်ပြီးအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်လိုအပ်သည့်အခြေအနေများကြုံတွေ့ရလေ့ရှိသည်။ ဤဆောင်းပါးသည် Preg_replace_callback_Alback_Array နှင့် strow'replace ကို ပိုမိုထိရောက်သော string processing optimization မဟာဗျူဟာများရရှိရန်မည်သို့ပေါင်းစပ်ရမည်ကိုလေ့လာလိမ့်မည်။
Preg_replace_callback_array သည် PHP တွင်ပုံမှန်အစားထိုးလုပ်ဆောင်မှုဖြစ်ပြီးကြိုတင်သတ်မှတ်ထားသောအုပ်ချုပ်မှုအပေါ် အခြေခံ. ပြိုင်ပွဲများတွင်ပွဲများကိုကိုင်တွယ်ရန်ခွင့်ပြုသည်။ Preg_replace နှင့်မတူဘဲ preg_replace_callback_array သည် ကိုက်ညီမှုပုံစံတစ်ခုစီအတွက် callback function ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။
$patterns = [
'/foo/' => function($matches) { return 'bar'; },
'/hello/' => function($matches) { return 'hi'; }
];
$string = "foo and hello world";
$result = preg_replace_callback_array($patterns, $string);
echo $result; // ထုတ်လုပ်ခြင်း: bar and hi world
Strt_replace သည် PHP တွင်အသုံးအများဆုံး string ကိုအစားထိုးလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်အလွန်ထိရောက်သည်, သို့သော်၎င်းတွင်ကန့်သတ်ချက်အချို့ရှိပါတယ်။ ၎င်းသည်ရိုးရှင်းသောစာသားအစားထိုးများကိုသာပြုလုပ်နိုင်သည်။
$string = "Hello, world!";
$search = "world";
$replace = "PHP";
$result = str_replace($search, $replace, $string);
echo $result; // ထုတ်လုပ်ခြင်း: Hello, PHP!
Preg_replace_callback_array နှင့် strow_replace ကို ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပိုမိုထိရောက်သော string processing solution ကိုအကောင်အထည်ဖော်နိုင်သည်။
ပထမနေရာတွင် strow_replace ကို အသုံးပြုပါ ။ အစားထိုးနည်းဥပဒေများသည်အလွန်ရိုးရှင်းလျှင် (fixed string replacement ကဲ့သို့) ကျွန်ုပ်တို့သည် strit_replace ကို အစားထိုးနိုင်သည်။ ဘာဖြစ်လို့လဲဆိုတော့ strow_replace ရဲ့စွမ်းဆောင်ရည်ဟာပုံမှန်အားဖြင့်ပုံမှန်အစားထိုးခြင်းထက်ပိုကောင်းတယ်။
ထိုအခါရှုပ်ထွေးသောအစားထိုးအတွက် Preg_replace_callback_array ကို အသုံးပြုပါ ။ ရှုပ်ထွေးသောကိုက်ညီမှုနှင့်ပြောင်းလဲခြင်းအစားထိုးလိုအပ်သည့်အစိတ်အပိုင်းများအတွက် Preg_replace_callback_array ကို အသုံးပြုခြင်းသည်ပိုမိုထိရောက်သောနှင့်ပြောင်းလွယ်ပြင်လွယ်ရှိလိမ့်မည်။
<?php
// နမူနာ string ကို
$string = "Visit our site at http://www.example.com. Contact us at contact@example.com. Check out our blog at http://blog.example.com";
// 1. အသုံးပြု str_replace ရိုးရှင်းသောကြိုးကိုအစားထိုးပါ
$string = str_replace('example', 'm66.net', $string);
// 2. အသုံးပြု preg_replace_callback_array ရှုပ်ထွေးသောနေရာတွင်အစားထိုးပါ URL
$patterns = [
'/http:\/\/(www\.)?([\w-]+\.[a-z]+)(\/[\w\-\.]+)?/' => function($matches) {
return 'http://' . str_replace($matches[2], 'm66.net', $matches[2]);
}
];
// ရှုပ်ထွေးသောကွပ်မျက် URL ပြန်လည်နေရာချ
$result = preg_replace_callback_array($patterns, $string);
echo $result; // ထုတ်လုပ်ခြင်း: Visit our site at http://m66.net. Contact us at contact@m66.net. Check out our blog at http://m66.net
?>
အဆင့် 1: ဥပမာအားဖြင့် M66.net အဖြစ် ဥပမာ အားလုံးကို string အစားထိုး ခြင်း ဖြင့်အစားထိုးပါ။
အဆင့် 2: URL ကို process လုပ်ရန် preg_replace_callback_array ကို သုံးပါ။ domain name အပိုင်းကို M66.net သို့အစားထိုးရန် URL တစ်ခုစီအတွက် callback function ကိုအသုံးပြုသည်။
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် strow_replace ကို ပိုမိုလွယ်ကူစွာအစားထိုးရန်လွယ်ကူစေရန်အတွက်ရိုးရိုးအစားထိုးကုသမှုခံယူရန်လွယ်ကူစေရန်သေချာစေရန်နှစ် ဦး စလုံး၏အားသာချက်များကိုပေါင်းစပ်နိုင်ပြီး preg_replace_callback_Accallback_Anallback_Anallback_Anallback_array ကိုမြှင့်တင်ပေးသည်။
Preg_replace_callback_array နှင့် strow_replace ကို အသုံးပြု. ကုဒ်ပြောင်းလွယ်ပြင်လွယ်ရှိစေရန်ကောင်းသောစွမ်းဆောင်ရည်ကိုကျွန်ုပ်တို့ရရှိနိုင်ပါသည်။ ရိုးရှင်းသော string အစားထိုးခြင်းအတွက် stringplace သည်ရှုပ်ထွေးသောပုံစံနှင့်အစားထိုးခြင်းနှင့်အစားထိုးနေစဉ်ပထမ ဦး ဆုံးရွေးချယ်မှုသည်ပထမဆုံးရွေးချယ်မှုဖြစ်သည် ။ String processing ၏ထိရောက်မှုနှင့်ထိန်းသိမ်းမှုကိုများစွာတိုးတက်စေရန်အတွက်အမှန်တကယ်လိုအပ်ချက်များအရဤနှစ်ခုကိုကျိုးကြောင်းဆီလျော်စွာရွေးချယ်ပါ။
ဤ optimization မဟာဗျူဟာကိုကျင့်သုံးခြင်းအားဖြင့် developer များသည် concurrency နှင့်ရှုပ်ထွေးသောအချက်အလက်အပြောင်းအလဲများကိုရင်ဆိုင်ရသောအခါ developer များကသူတို့၏ကုဒ်များ၏ထိရောက်မှုနှင့်ဖတ်နိုင်မှုကိုထိန်းသိမ်းနိုင်သည်။