Multibyte String processing အတွက် PHP ကိုအသုံးပြုသောအခါ MB_eregi_replace function သည် MB_eregi_replace function သည်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော် developer များစွာသည်ဤ function ကိုအသုံးပြုသောအခါအမှိုက်များ code ပြ problems နာများကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ ဤဆောင်းပါးသည်အမှိုက်သရိုက်ကုဒ်၏အကြောင်းရင်းများ၏အကြောင်းရင်းများကိုနက်နက်နဲနဲခွဲခြမ်းစိတ်ဖြာပြီး condbled code ကိုရှောင်ရှားရန်အတွင်းပိုင်းစာလုံးများကိုမည်သို့မှန်ကန်စွာသတ်မှတ်ရန်မည်သို့အာရုံစိုက်လိမ့်မည်။
Mb_eregi_replace သည် PHP ၏ Multi-byte string fatch များထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏လုပ်ဆောင်ချက်မှာအမှုအားလျစ်လျူရှုသောပုံမှန်စကားရပ်အစားထိုးခြင်းကိုလုပ်ဆောင်ရန်ဖြစ်ပြီးတရုတ်, ဂျပန်နှင့်ကိုရီးယားစသည့် byte အက္ခရာများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )
၎င်းကိုအသုံးပြုသောအခါသင်သည်ပုံမှန်စကားရပ်တွင်သာဖြတ်သန်းရန်လိုအပ်ပြီး string နှင့် target string ကိုအစားထိုးရန်လိုအပ်သည်။
carbled code သည်များသောအားဖြင့်စာလုံးအရကွန်ဖင့်မတိုက်ဆိုင်မှုနှင့်ဆက်စပ်သည်။ MB_ereGi_replace သည် string ကိုလက်ရှိတွင်ထည့်သွင်းထားသည့်အတွင်းပိုင်း internal character encoding နှင့်အညီလုပ်ဆောင်လိမ့်မည်။ အကယ်. string encoding and internal encoding သည်ကိုက်ညီမှုရှိလျှင်၎င်းသည်မှားယွင်းသောအမှားများကိုဖြစ်ပေါ်စေပြီး conbled code ကိုဖြစ်ပေါ်စေသည်။
ဥပမာအားဖြင့်, သင်၏ Source String သည် UTF-8 encoding ဖြစ်သော်လည်း internal encoding ကို ISO-8859-1 ကိုသတ်မှတ်ထားပါက function သည်မှားယွင်းစွာဖွင့်ထားပြီး output သည်အမှိုက်များဖြစ်လာလိမ့်မည်။
PHP ၏ Multibyte String Function သည် MB_internal_encoding () function ကိုအသုံးပြုသည်။ ဤ encoding သည်သင်၏ string encoding နှင့်ကိုက်ညီရန်သေချာစေရန်လိုအပ်သည်။ UTF-8 သည်ယေဘူယျအားဖြင့်၎င်းကိုလက်ရှိအခြေအနေတွင်အသုံးအများဆုံး encoding ဖြစ်သောကြောင့်အကြံပြုသည်။
နမူနာကုဒ်:
<?php
// အတွင်းပိုင်းဇာတ်ကောင် encoding ကိုသတ်မှတ် UTF-8
mb_internal_encoding("UTF-8");
$subject = "ဒီစမ်းသပ်မှု string ကိုဖြစ်ပါတယ်,တရုတ်အက္ခရာများပါရှိသည်";
$pattern = "စမ်းသပ်မှု";
$replacement = "နမူနာ";
$result = mb_eregi_replace($pattern, $replacement, $subject);
echo $result;
?>
Internal encoding မသတ်မှတ်ပါက MB_eregi_replace သည် system encoding ကို default system encoding ကိုသုံးနိုင်သည်။
input string ကို charge ကိုအတည်ပြုပါ ။ input string သည် utf-8 on encoding encoding encoding encoding encoding ကိုသေချာအောင်လုပ်ပါ ။
ပုံမှန်အသုံးအနှုန်းကိုသတ်မှတ်ပါ - MB_eregi_replace သည် MBREGI_replace သည် MBREGEX အင်ဂျင်ကိုအသုံးပြုသည်။
Single-byte နှင့် byte function များကိုမရောထွေးပါနှင့် - Eserg နှင့် MB_ereGi_replace ကိုရောစပ်ခြင်းကသဟဇာတဖြစ်သောပြ problems နာများကိုဖြစ်စေနိုင်သည်။
အကယ်. ရှုပ်ထွေးသောပြ problem နာတစ်ခုရှိပါက၎င်းကိုသတ်မှတ်ရန်သို့မဟုတ်မှားယွင်းစွာသတ်မှတ်ရန်မေ့သွားသောကြောင့်ဖြစ်သည်။ ဖြေရှင်းချက်မှာ MB_Internal_encoding ("UTF-8") (သို့မဟုတ်သင်၏ string) (သို့မဟုတ်သင်၏ string) (သို့မဟုတ်သင်၏ string) ကိုအသုံးပြုရန်ဖြစ်သည်။ ၎င်းသည် barbled code ၏ပြ problem နာကိုရှောင်ရှားနိုင်ပြီး Multi-byte ပုံမှန်အစားထိုးအတွက် MB_ereGi_replace ကို သုံးနိုင်သည်။
အပြည့်အဝကုဒ်နမူနာ: