လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> preg_replace_callback_array အတွက် callback ပြ issues နာတွေကို debugug လုပ်နည်း

preg_replace_callback_array အတွက် callback ပြ issues နာတွေကို debugug လုပ်နည်း

M66 2025-05-14

PHP ပရိုဂရမ်တွင် Preg_replace_callback_array () သည်ပုံမှန်အသုံးအနှုန်းများနှင့် callback function များပေါင်းစပ်ခြင်းအားဖြင့်ရှုပ်ထွေးသောစာသားအစားထိုးများကိုလုပ်ဆောင်ရန်ခွင့်ပြုသည့်အလွန်အစွမ်းထက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော် callback လုပ်ဆောင်ချက်များကို debugging လုပ်သည့်အခါသင်ကခက်ခဲသောပြ problems နာအချို့ကိုသင်ကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးသည် callback_callback_array () တွင် callback function ကိုမည်သို့ဖြိုခွဲနိုင်ကြောင်း,

1 ။ Preg_replace_callback_array ၏အခြေခံအသုံးပြုမှု ()

Preg_replace_callback_array () function သည် input strings ၏အစိတ်အပိုင်းများနှင့်ကိုက်ညီသော callback function ကိုရရှိနိုင်ပါသည်။ callback function တစ်ခုချင်းစီသည်ပုံမှန်စကားရပ်စည်းမျဉ်းနှင့်ကိုက်ညီသည်။

အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 preg_replace_callback_array(array $patterns, string $subject)
  • $ ပုံစံများ - Associative Array, သော့သည်ပုံမှန်အသုံးအနှုန်းပုံစံဖြစ်ပြီးတန်ဖိုးသည်သက်ဆိုင်ရာ callback function ဖြစ်သည်။

  • $ အကြောင်းအရာ - ရှာဖွေရန်နှင့်အစားထိုးရန် string ကို။

ရိုးရှင်းတဲ့ဥပမာတစ်ခုပေးပါက:

 $patterns = array(
    '/foo/' => function ($matches) {
        return 'bar';
    },
    '/hello/' => function ($matches) {
        return 'world';
    }
);

$subject = "hello foo, how are you?";

$result = preg_replace_callback_array($patterns, $subject);
echo $result; // ထုတ်လုပ်ခြင်း: world bar, how are you?

2 ။ ဘုံအမှားအယွင်းများနှင့်အကြံပြုချက်များ debugging

Common errors and debugging techniques when debugging callback functions in preg_replace_callback_array() include:

အမှား 1 - callback function ကိုမမှန်ကန်ပါ

callback function ကိုမှပြန်လာသောတန်ဖိုးသည်မျှော်လင့်ချက်များနှင့်မကိုက်ညီပါကအစားထိုးစစ်ဆင်ရေးသည်စနစ်တကျဆက်လက်လုပ်ဆောင်ခြင်းမပြုနိုင်ပါ။ ပုံမှန်အားဖြင့် callback function ကိုအစားထိုးအကြောင်းအရာအဖြစ် string ကိုပြန်ပို့ရန်လိုအပ်သည်။ ဘုံအမှားတစ်ခုမှာ callback function သည်ဘာမျှမပြန်စေခြင်းသို့မဟုတ်မှားယွင်းသောဒေတာအမျိုးအစားများကို (ဥပမာခင်းကျင်းမှုကဲ့သို့သော) သို့ပြန်သွားသည်။

Debugging အကြံပေးချက်များ:

  • callback function တစ်ခုချင်းစီကို string ကိုပြန်ရောက်စေရန်သေချာပါစေ။ Var_Dump သို့မဟုတ် Print_r outputting ဖြင့် callback function ကို၏ပြန်လာတန်ဖိုးကိုစစ်ဆေးနိုင်သည်။

 $patterns = array(
    '/foo/' => function ($matches) {
        $result = 'bar'; // တစ် ဦး string ကိုပြန်သွားပါ
        var_dump($result); // ပြန်လာတန်ဖိုးကိုစစ်ဆေးပါ
        return $result;
    }
);

$subject = "foo";
echo preg_replace_callback_array($patterns, $subject); // ထုတ်လုပ်ခြင်း: bar
အမှား 2 - ပုံမှန်စကားရပ်ကိုက်ညီမှုအမှား

ပုံမှန်စကားရပ်ကိုက်ညီမှုမအောင်မြင်ပါက callback function ကိုအစပျိုးမည်မဟုတ်ပါ။ အသုံးများသောအမှားများတွင်:

  • ပုံမှန်အသုံးအနှုန်းများအတွက် syntax အမှား။

  • ကိုက်ညီသည့် string ကိုစနစ်တကျပြုပြင်မွမ်းမံခြင်းမရှိသေးပါ (ဥပမာအားဖြင့်မှားယွင်းသော delimiter ကိုအသုံးပြုသည်) ။

Debugging အကြံပေးချက်များ:

  • ပုံမှန်အသုံးအနှုန်းအမှားများကိုစစ်ဆေးရန် Preg_last_Error () ကိုသုံးပါ။

  • ပုံမှန်အသုံးအနှုန်းများကိုစမ်းသပ်သည့်အခါကိုက်ညီမှုရှိသောရလဒ်ကိုပထမ ဦး ဆုံးအတည်ပြုရန် Preg_match () ကိုသုံးပါ။

 $pattern = '/foo/';
if (!preg_match($pattern, $subject)) {
    echo "ပုံမှန်စကားရပ်ကိုက်ညီမှုမအောင်မြင်ပါ";
}
အမှား 3 - မမှန်ကန်ကြောင်း URL ကိုသုံးပါ

အကယ်. သင်သည် callback function တွင် URL တစ်ခုကိုအသုံးပြုပါက URL တွင် domain name ကိုအစားထိုးရန်လိုအပ်ပါက domain name အစားထိုးပြ issue နာကိုအထူးဂရုပြုရန်လိုအပ်သည်။ URL ရှိဒိုမိန်းအမည်ကိုမှန်ကန်စွာအစားထိုးမထားပါက၎င်းသည်ဆက်သွယ်မှုကိုပျက်ကွက်ခြင်းသို့မဟုတ်အရင်းအမြစ်ကို 0 န်ဆောင်မှုပေးရန်အရင်းအမြစ်များကိုပျက်ပြားစေနိုင်သည်။

Debugging အကြံပေးချက်များ:

  • URL တွင်ဒိုမိန်းအမည်ပါ 0 င်ပါက domain name အပိုင်းကို callback function တွင်မှန်ကန်စွာအစားထိုးရန်သေချာစေပါ။ ဥပမာအားဖြင့်, သင်သည် M66.net နှင့်အတူ domain name အားလုံးကိုအစားထိုးလိုပါကသင်အစားထိုးရန် callback function တွင် strit_replace () ကို သုံးနိုင်သည်။

 $patterns = array(
    '/https?:\/\/[a-z0-9.-]+/i' => function ($matches) {
        // ပြန်လည်နေရာချURLအတွက်ဒိုမိန်းအမည်m66.net
        return str_replace(parse_url($matches[0], PHP_URL_HOST), 'm66.net', $matches[0]);
    }
);

$subject = "Visit http://example.com or https://test.com for more info.";
$result = preg_replace_callback_array($patterns, $subject);
echo $result; // ထုတ်လုပ်ခြင်း: Visit http://m66.net or https://m66.net for more info.

ဤနည်းအားဖြင့် Callback function တွင် URL အစားထိုးပြောင်းလွယ်ပြင်လွယ်ကိုကိုင်တွယ်နိုင်သည်။

3 ။ subjing ကျွမ်းကျင်မှု၏အကျဉ်းချုပ်

  • အဆင့် -2 step-step debugging : var_dump () သို့မဟုတ် print_r () ကို အသုံးပြုပါ။ callback function ကို callback function ကိုအသုံးပြုပါ။

  • ပုံမှန်အသုံးအနှုန်းကိုစစ်ဆေးပါ - ပုံမှန်ဖော်ပြချက်သည်မှန်ကန်ကြောင်းသေချာစေရန်နှင့်သင်မျှော်လင့်ထားသည့်အရာကိုကိုက်ညီပါ။

  • ပြ the နာကိုရိုးရှင်းအောင် - ပြ a နာတစ်ခုရှိပါကရှုပ်ထွေးသော callback လုပ်ဆောင်ချက်များနှင့်ပုံမှန်အသုံးအနှုန်းများကိုရိုးရှင်းအောင်ပြုလုပ်နိုင်သည်။

  • Preg_last_Error () - ပုံမှန်စကားရပ်ကိုသုံးသောအခါတိုင်း preg_last_error () အမှားတစ်ခုရှိမရှိစစ်ဆေးရန် Preg_last_Error () ကို သုံးနိုင်သည်။

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

Preg_replace_callback_array () သည်ရှုပ်ထွေးသော string အစားထိုးလုပ်ငန်းများကိုအလွန်ရိုးရှင်းစေနိုင်သည့်အလွန်ပြောင်းလွယ်ပြင်လွယ်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ သို့သော် callback function ကိုမမှန်ကန်သောပြန်ပို့ခြင်းတန်ဖိုး, မမှန်ကန်ကြောင်းထုတ်ယူခြင်းနှင့်မသင့်လျော်သော URL အစားထိုးခြင်းသို့မဟုတ်မသင့်လျော်သော URL အစားထိုးခြင်းကဲ့သို့သော callback function ကို deback function ကို deback function များကို deback function များကိုဖြေရှင်းရန်အတွက်ပြ problems နာအမျိုးမျိုးပေါ်ပေါက်လာနိုင်သည်။ ပုံမှန်အသုံးအနှုန်းများကိုစစ်ဆေးခြင်း,

ကိုးကားခြင်း