PHP ၏ string လုပ်ဆောင်ချက်များတွင် strips (strips) သည်ကိစ္စနှင့်မခံစားနိုင်သော string ရှာဖွေမှုများကိုဖျော်ဖြေရန်အတွက်အလွန်အသုံးများသောကိရိယာတစ်ခုဖြစ်သည်။ ဘာသာစကားမျိုးစုံညှို့နှင့်ဆက်ဆံရာတွင် developer များက stripripos () သည် ဇာတ်ကောင်အစုံများအကြားခွဲခြားထားပါသလား။ စာသားပြုပြင်ခြင်းအတွက် ascii မဟုတ်သောဇာတ်ကောင်များပါ 0 င်သည့်စာသားများအတွက်သင့်တော်ပါသလား။ သို့မဟုတ်၎င်းသည်စွမ်းဆောင်ရည်ဆုံးရှုံးမှုနှင့်ကိုက်ညီမှုမရှိသောအမှားများကိုဘာသာစကားမျိုးစုံဖြင့်ဆောင်ကြဉ်းပေးမည်လား။ ဤဆောင်းပါးသည်ဤပြ issues နာများကိုအသေးစိတ်ဆွေးနွေးပါမည်။
Strips () သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်:
$pos = stripos("Hello World", "world");
echo $pos; // ထုတ်လုပ်ခြင်း 6
Stropos () မှခြားနားချက်သည် stropos () သည် အ မှုအား 0 င်ရောက်ခြင်းကိုလျစ်လျူရှုခြင်း,
ဤပြ problem နာအတွက်သော့ချက်မှာ PHP ၏ stripos () သည် byte processing အပေါ်အခြေခံသည်။ ၎င်းသည် ascii character ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။
ဆိုလိုသည်မှာ
အင်္ဂလိပ်အက္ခရာများသာပါ 0 င်သော strips များအတွက်ပုံမှန်အားဖြင့်ပြေးသည်။
Multi-byte ဇာတ်ကောင်များပါ 0 င်သည့် strings များအတွက် (တရုတ်, ဂျပန်, ကိုးရီးယားစသည်), stripsipos () သည် ဇာတ်ကောင်များ၏ semantics ကိုအသိအမှတ်မပြုဘဲ bytes များဖြင့်သာအသိအမှတ်ပြုခြင်းမရှိပါ။
ဥပမာတစ်ခုပေးပါ။
$str = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်m66.net!";
$pos = stripos($str, "M66");
var_dump($pos); // ထုတ်လုပ်ခြင်း false
"M66" ကိုအမြင်အာရုံဖြင့်ထည့်သွင်းထားသော်လည်း stripsipos () သည် ကွဲပြားခြားနားမှုများနှင့်ဇာတ်ကောင်အစုံများ၏ကွဲပြားခြားနားမှုများကြောင့်အောင်မြင်စွာမကိုက်ညီပါ။
PHP သည် Multibyte ကြိုးများကိုကိုင်တွယ်ရန် Mbstring extension များကိုထောက်ပံ့ပေးသည်။ ဘာသာစကားပေါင်းစုံသောပတ်ဝန်းကျင်တွင် MB_Stripos () ကို strips များ အစားအသုံးပြုသင့်သည်။
$str = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်m66.net!";
$pos = mb_stripos($str, "M66", 0, "UTF-8");
var_dump($pos); // ထုတ်လုပ်ခြင်း 5
ဤလုပ်ဆောင်ချက်သည်ကိစ္စတွင်မခံစားနိုင်သောရှာဖွေမှုများကိုအထောက်အကူပြုရုံသာမက UTF-8-encoded characters ကိုလည်းမှန်ကန်စွာအသိအမှတ်ပြုသည်။
?? မှတ်ချက် - MB_Stropos () မသုံးမီ server သည် mbstring extension ကိုဖွင့်ထားကြောင်းသေချာပါစေ။
စွမ်းဆောင်ရည်:
Stripos () သည်အစာရှောင်ခြင်း,
MB_STRIPOS () သည်အနည်းငယ်နှေးကွေးသောကြောင့်၎င်းသည် Multibyte စာလုံးများကိုပြုလုပ်နေပြီး encoding common ကိုလုပ်ဆောင်သည်။
သို့သော်လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်တိကျမှန်ကန်မှုသည်စွမ်းဆောင်ရည်အနည်းငယ်ကွာခြားမှုများထက် ပို. အရေးကြီးသည်။ တရုတ်ကဲ့သို့သောဘာသာစကားမျိုးစုံပတ်ဝန်းကျင်အတွက် MB_Stropos () ကို အသုံးပြုခြင်းသည်ပိုမိုလုံခြုံ။ ယုံကြည်စိတ်ချရသောရွေးချယ်မှုတစ်ခုဖြစ်သည်။
Stripos () သည် ဇာတ်ကောင်အစုံအကြားခွဲခြားခြင်းမရှိပါ ။
ဘာသာစကားမျိုးစုံ stringing လုပ်ခြင်းတွင် MB_Stripos () ကို အသုံးပြုသင့်သည် ။
ascii မဟုတ်သောဇာတ်ကောင်များပါ 0 င်သည့်အခါ stripos () သည် ကိုက်ညီမှုမရှိသောကျရှုံးမှုကိုဖြစ်စေနိုင်သည် ။
MB_CRSTOS () သည်အနည်းငယ်နှေးသော်လည်း၎င်း၏ မှန်ကန်မှုသည်စွမ်းဆောင်ရည်ခြားနားချက်ထက်များစွာသာလွန်သည် ။
ထို့ကြောင့် developer များအထူးသဖြင့်တရုတ်ကဲ့သို့သောအားကောင်းသောအနိုင်ကျင့်ခြင်းနှင့်တိကျမှန်ကန်မှုကိုသေချာစေရန်တရုတ်စသည့်အ 0 တ်အထည်များနှင့်စပ်လျဉ်း။ MB_series စီမံကိန်းများတွင် MB_Series စီမံခန့်ခွဲမှုလုပ်ငန်းများ၌ MB_Series လုပ်ငန်းများကို အသုံးပြု. ဦး စားပေးသင့်သည်။