လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ MB_EREGI_RERESTATITATETATITATE function တွင်အစားထိုးရန်ဒေါ်လာ 1 ကိုမည်သို့အသုံးပြုရမည်, သို့သော် Schema တွင်အုပ်စုဖွဲ့ခြင်းမရှိပါ။

PHP ၏ MB_EREGI_RERESTATITATETATITATE function တွင်အစားထိုးရန်ဒေါ်လာ 1 ကိုမည်သို့အသုံးပြုရမည်, သို့သော် Schema တွင်အုပ်စုဖွဲ့ခြင်းမရှိပါ။

M66 2025-06-16

PHP တွင် MB_ereGi_replace function သည်ဘက်ပေါင်းစုံ - လုံခြုံသောပုံမှန်အစားထိုးလုပ်ဆောင်မှုဖြစ်သည်။ ၎င်း၏အသုံးပြုမှုသည် Esegi_replace နှင့်ဆင်တူသော်လည်း Multibyte Strings အတွက်အကောင်းဆုံးဖြစ်သည်။


နောက်ခံနောက်ခံ

အစားထိုးရန်အတွက် MB_ereGi_replace ကို အသုံးပြုသောအခါပထမ ဦး ဆုံးဖမ်းယူအုပ်စု၏အကြောင်းအရာကိုကိုးကားရန်အစားထိုး string ကို ဒေါ်လာ 1 ဒေါ်လာ သုံးလိုသည်။

 $pattern = 'pattern';
$replacement = '$1 something';
mb_eregi_replace($pattern, $replacement, $subject);

သို့သော်မည်သည့်အုပ်စုသည်ပုံမှန်စကားရပ်ပုံစံ (I.E. ကွင်းပြင်တွင်ပါ 0 င်သောပုံစံခွဲ) တွင်မသတ်မှတ်ပါက $ 1 တွင် သက်ဆိုင်ရာအကြောင်းအရာများမရှိပါ။

ဤသည်အစားထိုးရလဒ်ရလဒ်မျှော်လင့်ထားရာဖြစ်ခြင်းမဟုတ်။


အဘယ်ကြောင့်ဤပြ problem နာဖြစ်ပေါ်သနည်း

ဒေါ်လာ 1 နှင့် $ 2 စသည့်အထူးသင်္ကေတများသည် Capture Group ၏အကြောင်းအရာများကိုပုံမှန်စကားရပ်တွင်ကိုးကားရန်အသုံးပြုသည်။ အကယ်. ပုံမှန်အသုံးအနှုန်းကိုကွင်းခတ်နှင့်အုပ်စုဖွဲ့မထားပါကဤကိုးကားသည်မမှန်ကန်ပါက။

ဥပမာအားဖြင့်:

 $pattern = 'hello';
$replacement = '$1 world';
$subject = 'hello';

// အုပ်စုဖွဲ့ခြင်းမရှိပါ,$1 သက်ဆိုင်ရာအကြောင်းအရာမရှိပါ
echo mb_eregi_replace($pattern, $replacement, $subject);

ဤကုဒ်၏ရလဒ်မှာ -

 $1 world

အစားစိတ်ကူးအစား:

 hello world

အဖေြ

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

ဖြေရှင်းချက် 1: အုပ်စုပုံမှန်အသုံးအနှုန်းများ

ဥပမာအားဖြင့်,

 $pattern = '(hello)';
$replacement = '$1 world';
$subject = 'hello';

echo mb_eregi_replace($pattern, $replacement, $subject);

output ရလဒ် -

 hello world

သတိပြုရန်:

  • Capture Grouping ကိုဖော်ပြရန်အပိုင်းကိုခြုံရန်ကွင်းကိုအခြုံရန်ကွင်းများကိုသုံးပါ။

  • ကိုက်ညီသော string တစ်ခုလုံးကိုသာဖမ်းယူနိုင်သည့်တိုင် ဒေါ်လာ 1 ကို သုံးနိုင်သည်။


အစီအစဉ် 2: ကိုက်ညီသော string တစ်ခုလုံးကို ဒေါ်လာ 0 နှင့်နှိုင်းယှဉ်ပါ

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


ဖြေရှင်းချက် 3- $ 1 ကို မသုံးပါနှင့်, callbacks နှင့်အစားထိုးပါ

အကယ်. အုပ်စုတစ်ခုထည့်ရန်ပုံစံကိုပြုပြင်ရန်အတွက်အဆင်မပြေပါက MB_ereg_replace_Callback ကဲ့သို့သော callback function များကိုထောက်ပံ့သောအစားထိုးလုပ်ဆောင်ချက်တစ်ခုကိုသုံးနိုင်သည်။

ဥပမာ -

 $pattern = 'hello';
$subject = 'hello';

$result = mb_ereg_replace_callback($pattern, function ($matches) {
    // $matches[0] ဒါဟာတစ်ခုလုံးကိုပွဲစဉ်ပါပဲ
    return $matches[0] . ' world';
}, $subject);

echo $result;

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

 hello world

အကျဉ်းချုပ်

  • MB_eregi_replace သည် Grouping Content ကိုရည်ညွှန်းရန် ဒေါ်လာ 1 နှင့် 2 ဒေါ်လာကို အသုံးပြုသည်။

  • အုပ်စုဖွဲ့ခြင်းမရှိပါက $ 1 ကို ကိုက်ညီသောအကြောင်းအရာများဖြင့်အစားထိုးခြင်းမရှိပါ။ သို့သော်ပုံမှန်ကြိုးအဖြစ်သတ်မှတ်သည်။

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


ကိုးကားစရာ link