လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Preg_replace_callback_Array သို့အကူးအပြောင်းဆိုင်ရာသင်ကြားရေးပုံစံ

Preg_replace_callback_Array သို့အကူးအပြောင်းဆိုင်ရာသင်ကြားရေးပုံစံ

M66 2025-06-02

PHP တွင် Preg_replace နှင့် Preg_replace_callback_array သည်ပုံမှန်အစားထိုးလုပ်ငန်းများအတွက်လုပ်ဆောင်ချက်များဖြစ်သည်။ သူတို့ကဆင်တူပုံရတယ်, ဒါပေမဲ့သူတို့ရဲ့ application အခြေအနေတွေနဲ့အပြုအမူတွေကကွဲပြားတယ်။ ဤဆောင်းပါးသည်သင့်အားဤလုပ်ဆောင်ချက်နှစ်ခုကိုပိုမိုနက်ရှိုင်းစွာနားလည်စေရန်, Preg_replace_Callback_Array သို့ preg_replace_callback_array သို့ချောချောမွေ့မွေ့အကူးအပြောင်းကိုကူညီပါလိမ့်မည်။

1 ။ Preg_replace function ကိုမိတ်ဆက်

Preg_replace သည် PHP တွင်အသုံးအများဆုံးပုံမှန်အစားထိုးလုပ်ဆောင်ချက်ဖြစ်သည်။ ၎င်း၏ function သည်ပုံမှန်ပုံစံနှင့်ကိုက်ညီသော string တစ်ခု၏အစိတ်အပိုင်းတစ်ခုကိုရှာဖွေပြီးအစားထိုးအကြောင်းအရာများဖြင့်အစားထိုးရန်ဖြစ်သည်။

အခြေခံအသုံးပြုမှု:

 $pattern = '/\d+/'; // ကိုက်ညီနံပါတ်များ
$replacement = 'NUMBER';
$string = 'There are 123 apples and 456 oranges.';

$result = preg_replace($pattern, $replacement, $string);
echo $result;

ထုတ်လုပ်မှု -

 There are NUMBER apples and NUMBER oranges.

ဤဥပမာတွင် Preg_replace သည် ဂဏန်းအပိုင်းကိုနံပါတ်နှင့်ကြိုးဖြင့်အစားထိုးသည်။ ၎င်း၏ parameters တွေကိုပါဝင်သည်:

  • ပုံမှန် mode ကို $ ပုံစံ

  • အစားထိုးအကြောင်းအရာ $ အစားထိုး

  • string ကို $ string ကို ရိုက်ထည့်ပါ

Preg_replace သည်ရိုးရှင်းသောအစားထိုးလုပ်ငန်းများအတွက်သင့်တော်သည်။ သို့သော်အစားထိုးယုတ္တိဗေဒသည်ပိုမိုရှုပ်ထွေးသောအခါသို့မဟုတ်ကွဲပြားခြားနားသောပွဲများအတွက်ကွဲပြားခြားနားသောအပြောင်းအလဲနဲ့လိုအပ်ပါတယ်။

2 ။ နိဒါန်း Preg_replace_callback_array function ကိုမိတ်ဆက်

Preg_replace_callback_array သည် PHP 5.5 တွင်မိတ်ဆက်ပေးသော function တစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံမှန်အစားထိုးခြင်းကိုကိုင်တွယ်ရန်ပိုမိုပြောင်းလွယ်ပြင်လွယ်သောနည်းလမ်းဖြစ်သည်။ ၎င်း၏အဓိကအင်္ဂါရပ်မှာ၎င်းသည်ပုံမှန်စကားရပ်ပုံစံတစ်ခုစီအတွက်ပိုမိုရှုပ်ထွေးသောရလဒ်များကိုပိုမိုရှုပ်ထွေးစေသောရလဒ်များပြုလုပ်ရန်သင့်အား callback function ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။

အခြေခံအသုံးပြုမှု:

 $patterns = [
    '/\d+/' => function($matches) {
        return 'NUMBER';
    },
    '/apple/' => function($matches) {
        return 'FRUIT';
    }
];
$string = 'There are 123 apples and 456 oranges.';

$result = preg_replace_callback_array($patterns, $string);
echo $result;

ထုတ်လုပ်မှု -

 There are NUMBER FRUIT and 456 oranges.

ဤဥပမာတွင် Preg_replace_callback_array သည် မတူညီသောပုံမှန်ပုံစံများအတွက်မတူညီသော callback function များကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ပုံစံများကို array တွင်ပုံမှန်ပုံစံတစ်ခုစီသည် calmback function နှင့်ကိုက်ညီသည်။ callback function သည်ပွဲစဉ်ရလဒ်ကိုရရှိသည် ဒေါ်လာပွဲများ နှင့်အစားထိုးတန်ဖိုးကိုပြန်လည်ရရှိခဲ့သည်။

ဤနည်းလမ်းသည် preg_replace ထက် ပို. ပြောင်းလွယ်ပြင်လွယ်ရှိပြီးရှုပ်ထွေးသောအစားထိုးယုတ္တိဗေဒကိုကိုင်တွယ်ရန်သင့်တော်သည်။ ဥပမာအားဖြင့်, သင်ဟာရိုးရိုးရှင်းရှင်းစွာအစားထိုးခြင်းအတွက်ကန့်သတ်ထားခြင်းမရှိဘဲကိုက်ညီသောအကြောင်းအရာများအပေါ် အခြေခံ. ကွဲပြားခြားနားသောအပြောင်းအလဲကိုပြုလုပ်နိုင်သည်။

3 ။ Preg_replace နှင့် preg_replace_callback_array အကြားနှိုင်းယှဉ်

3.1 ပြောင်းလွယ်ပြင်လွယ်

  • Preg_replace ကို ရိုးရှင်းသောအစားထိုးလုပ်ငန်းများအတွက်အသုံးပြုသည်။ အကယ်. သင်သည်ကိုက်ညီသောအပိုင်းကိုကြိုးကြိုးဖြင့်အစားထိုးရန်လိုအပ်လျှင်အလွန်ထိရောက်ပါသည်။

  • Preg_replace_callback_array သည် မတူညီသောကိုက်ညီမှုပုံစံများအတွက်မတူညီသော callback လုပ်ဆောင်ချက်များကိုသတ်မှတ်ရန်ခွင့်ပြုသည်, ထို့ကြောင့်၎င်းသည်ပိုမိုရှုပ်ထွေးသောအစားထိုးခြင်းဆိုင်ရာလိုအပ်ချက်များကိုကိုင်တွယ်နိုင်သည်

3.2 စွမ်းဆောင်ရည်

  • စွမ်းဆောင်ရည်ဘက်မှာ Preg_replace_Replace_callback_array ထက်အနည်းငယ်ပိုမြန်လိမ့်မည်, အဆုံးစွန်သောပွဲတစ်ပွဲတစ်ခုစီကိုကိုင်တွယ်ရန် callback function ကိုခေါ်ဆိုရန်လိုအပ်သည်

  • အစားထိုးယုတ္တိဗေဒသည်ရိုးရှင်းလျှင် Preg_replace သည် ပိုမိုထိရောက်သောရွေးချယ်မှုဖြစ်သင့်သည်။

3.3 ထိန်းသိမ်းထားနိုင်မှု

  • preg_replace_callback_array ကို သုံးသောအခါသင်ကွဲပြားခြားနားသော retracement logics ကွဲပြားခြားနားသော callback functions များတွင် coverier ကိုပိုမိုလွယ်ကူစေရန်နှင့်ထိန်းသိမ်းရန်ပိုမိုလွယ်ကူစေသည်။

  • Preg_replace ကိုအသုံးပြုပြီးတဲ့အခါမှာအစားထိုးယုတ္တိဗေဒဟာရှုပ်ထွေးလာရင်ကုဒ်ရဲ့ဖတ်နိုင်မှုနဲ့ထိန်းသိမ်းမှုကိုလျော့နည်းသွားစေနိုင်တယ်။

4 ။ preg_replace မှ preg_replace_callback_array သို့ကူးပြောင်းခြင်း

အကယ်. သင်သည် Preg_replace ကို အသုံးပြု. ပိုမိုရှုပ်ထွေးသောအစားထိုးလိုအပ်ချက်များသည်သင်၏စီမံကိန်းတွင်ပိုမိုများပြားလာလာပါက PREG_replace သည် လိုအပ်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်ဟုသင်ခံစားရနိုင်သည်။ ဤအချိန်တွင်သင်သည် Preg_replace_callback_array သို့ကူးပြောင်းရန်ကြိုးစားနိုင်သည်။ အသွင်ကူးပြောင်းမှုအဆင့်များအတွက်အောက်ပါအချက်များကိုဖတ်ရှုပါ။

  1. ရှိပြီးသားကုဒ်ကိုဆန်းစစ်ပါPreg_replace ကို လက်ရှိအသုံးပြုထားသည့်နေရာကိုကြည့်ပါ။

  2. Design Callback functions : ရှုပ်ထွေးသောအစားထိုးယုတ္တိဗေဒကိုအစားထိုးရန်လိုအပ်သည့်အစားထိုးနည်းလမ်းများကိုကိုင်တွယ်ရန် (သို့) တစ်ခုထက်ပိုသော dealback function များကိုဒီဇိုင်းဆွဲခြင်းလုပ်ငန်းများကိုဒီဇိုင်းဆွဲခြင်း။

  3. Code ကိုအစားထိုးပါPreg_replace_callback_Array နှင့် Preg_replace_Callback_Array နှင့်အစားထိုး။ callback function ကိုပါပုံမှန်ပုံစံကိုနှိပ်ပါ။

ဥပမာ - ခြေလှမ်း - အဆင့်အကူးအပြောင်း

ကျွန်ုပ်တို့တွင်အောက်ပါကုဒ်ရှိသည်ဆိုပါစို့, နံပါတ်နှင့်အသီးအမည်ကို preg_replace ဖြင့်အစားထိုးခြင်း။

 $pattern = '/(\d+)|(apple)/';
$replacement = function($matches) {
    if ($matches[1]) {
        return 'NUMBER';
    } elseif ($matches[2]) {
        return 'FRUIT';
    }
};

$string = 'I have 123 apples and 456 oranges.';
$result = preg_replace($pattern, $replacement, $string);
echo $result;

တွေ့မြင်နိုင်သည့်အတိုင်း callback function နှင့်ပေါင်းစပ်သည့် Preg_replace သည် အစားထိုးလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးသည်။ သို့သော်ထိုကဲ့သို့သောကုဒ်များတိုးချဲ့ရန်မလွယ်ကူပါ။ အကယ်. ကျွန်ုပ်တို့သည်ပိုမိုပုံစံများကိုအစားထိုးလိုပါကကုဒ်သည်ရှုပ်ထွေးပြီးစီမံရန်ခက်ခဲလိမ့်မည်။ ဒီနေရာမှာ code ကိုပိုပြီးတိကျစွာလုပ်ဖို့ Preg_replace_callback_array ကို သုံးနိုင်တယ်။

 $patterns = [
    '/\d+/' => function($matches) {
        return 'NUMBER';
    },
    '/apple/' => function($matches) {
        return 'FRUIT';
    },
    '/orange/' => function($matches) {
        return 'CITRUS';
    }
];

$string = 'I have 123 apples and 456 oranges.';
$result = preg_replace_callback_array($patterns, $string);
echo $result;

ဤနည်းအားဖြင့်ပုံမှန်ပုံစံတစ်ခုစီသည် calmback function တစ်ခုနှင့်ကိုက်ညီပြီးကုဒ်ကိုပိုမိုရှင်းလင်းစွာပြုလုပ်ရန်ပိုမိုလွယ်ကူစေသည်။

5 ။ အကျဉ်းချုပ်

preg_replace and preg_replace_callback_array တစ်ခုချင်းစီတွင်ကိုယ်ပိုင်အားသာချက်များနှင့်အားနည်းချက်များရှိသည်။ Preg_replace သည်ရိုးရှင်းသောအစားထိုးပစ္စည်းများအတွက်သင့်တော်သည် Preg_replace_callback_array ကို ဖြတ်. သင်လိုအပ်သည့်အခါပိုမိုရှုပ်ထွေးသောပုံမှန်အစားထိုးနည်းလမ်းကိုသင်အကောင်အထည်ဖော်နိုင်သည်။ မှန်ကန်သောလိုအပ်ချက်နှင့်အညီမှန်ကန်သောလုပ်ဆောင်မှုကိုရွေးချယ်ခြင်းနှင့်မှန်ကန်သောလုပ်ဆောင်မှုကိုရွေးချယ်ခြင်းသည်သင်၏ PHP Project တွင်ပုံမှန်လုပ်ဆောင်မှုနှင့်အညီရွေးချယ်ခြင်းသည်ပုံမှန်စကားများနှင့်ပိုမိုထိရောက်စွာကိုင်တွယ်ဖြေရှင်းနိုင်ရန်ကူညီလိမ့်မည်။