PHP ၏ Mbstring extension သည် byte multi-byte အက္ခရာများ (တရုတ်, ဂျပန်နှင့်ကိုးရီးယား) နှင့်ဆက်ဆံရာတွင်ခိုင်မာသောအထောက်အပံ့ဖြစ်သည်။ အထူးသဖြင့်ကျွန်ုပ်တို့သည်ကြိုးများကိုလုံခြုံစွာကြားဖြတ်ထားလိုပါက MB_substr သည်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော်အမှန်တကယ်အသုံးပြုမှုတွင်လူအများစုသည် MB_Get_info ၏အရေးပါမှုကိုလျစ်လျူရှုထားသည့် MB_Get_info ၏အရေးပါမှုကိုလျစ်လျူရှုကြသည်။
ဤဆောင်းပါးသည် MB_Get_info ကို MB_GET_InFO ကို MB_Substrin ကိုအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
MB_Get_info သည် Internal encoding ( internal_encoding ) ကဲ့သို့သော MBString ၏လက်ရှိချိန်ညှိချက်များနှင့် ပတ်သက်. အသေးစိတ်အချက်အလက်များကိုပြန်လည်ပေးပို့ခဲ့သည်။ အကယ်. ကျွန်ုပ်တို့သည် MB_Subrstr ကို Encoding ကိုမအတည်ပြုဘဲတိုက်ရိုက်အသုံးပြုပါက, ထို့ကြောင့်၎င်းသည်လက်ရှိပတ် 0 န်းကျင်ပြင်ဆင်မှုကိုကြိုတင်နားလည်ရန်အလေ့အကျင့်ကောင်းတစ်ခုဖြစ်သည်။
ဥပမာ -
<?php
// ရယူmbstringပြင်ဆင်မှုသတင်းအချက်အလက်
$info = mb_get_info();
print_r($info);
// output ကို e.g.:
// Array
// (
// [internal_encoding] => UTF-8
// [http_output] => UTF-8
// [http_input] => pass
// ...
// )
?>
internal_encoding ကိုကြည့်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် string processing အတွက်ပုံမှန်အားဖြင့် encoding ကိုအသုံးပြုသည်ကိုကျွန်ုပ်တို့သိနိုင်သည်။
MB_substrint သည် Multi-byte strings များအတွက်အထူးဒီဇိုင်းပြုလုပ်ထားသည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php
$string = "မင်္ဂလာပါ,ကမ်ာဘ!";
$substring = mb_substr($string, 0, 2); // မှ0ဇာတ်ကောင်များဖြင့်စတင်ပါ,ခူး2ဇာတ်ကောင်
echo $substring; // ထုတ်လုပ်ခြင်း:မင်္ဂလာပါ
?>
အကယ်. သင်သည် MB_Substrstr ကို မသုံးပါကသာမန် substr ကို သုံးပါကသာမန် substr ကိုသုံးပါ။
ကောင်းသောအလေ့အကျင့်တစ်ခုမှာ - MB_Substr ကို မပြုလုပ်မီမှန်ကန်သော encoding ကိုအတည်ပြုပြီးသတ်မှတ်ပါ။
ဥပမာအားဖြင့်:
<?php
// သဘာဝပတ်ဝန်းကျင်အထောက်အပံ့ကိုသေချာUTF-8
$info = mb_get_info();
if (strtoupper($info['internal_encoding']) !== 'UTF-8') {
mb_internal_encoding('UTF-8');
}
// လုံခြုံစွာသုံးပါmb_substr
$string = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည် https://gitbox.net/page";
$substring = mb_substr($string, 0, 6); // ခူး前6ဇာတ်ကောင်
echo $substring; // ထုတ်လုပ်ခြင်း:အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်
?>
ဤနည်းအားဖြင့်ဆာဗာ၏မူလ encoding သည် UTF-8 မဟုတ်သော်လည်းပင်ပရိုဂရမ်သည်မည်သည့်အမှားအယွင်းများကိုမဆိုလုပ်ဆောင်ရန်မည်သည့်အမှားအယွင်းများမလုပ်နိုင်ပါ။
ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင် Mbstring extension ကို install လုပ်ပြီးဖွင့်ထားကြောင်းသေချာစေရန်ရိုးရှင်းသောစစ်ဆေးမှုကိုထည့်သွင်းရန်အကောင်းဆုံးဖြစ်သည်။
<?php
if (!function_exists('mb_substr')) {
die('ကျေးဇူးပြုပြီးပထမဆုံးထည့်သွင်းပါmbstringတိုးချဲ့!');
}
?>
ဒီလိုမှမဟုတ်ရင်ပရိုဂရမ်သည် Multi-byte စစ်ဆင်ရေးကိုမထောက်ပံ့သောပတ်ဝန်းကျင်တွင်တိုက်ရိုက်ပျက်ကျနိုင်သည်။
MB_Get_info သည် သင့်အားပတ်ဝန်းကျင်ထိန်းသိမ်းရေးကိုနားလည်ပြီးမျက်စိကန်းသောစစ်ဆင်ရေးများကိုရှောင်ရှားရန်ကူညီသည်။
MB_Subyr သည် Multibyte String Interception ကိုကိုင်တွယ်ရန်အတွက် ဦး စားပေးနည်းလမ်းဖြစ်သည်။
string ကိုတရားဝင်ဆက်သွယ်ခြင်းမပြုမီ, UTF-8 အဖြစ်ပေါင်းစည်းခြင်းကဲ့သို့သော encoding ကိုအတည်ပြုခြင်းနှင့်သတ်မှတ်ခြင်းသည်အကောင်းဆုံးဖြစ်သည်။
ပတ် 0 န်းကျင်နှင့်ကိုက်ညီမှုကိုဂရုပြုပါ။
ဤအသေးစိတ်အချက်အလက်များကိုကျွမ်းကျင်ပြီးနောက်တရုတ်, ဂျပန်နှင့်ကိုရီးယားကြိုးများနှင့်ဆက်ဆံရာတွင်ခေါင်းကိုက်ခြင်းမရှိတော့ပါ။