MB_StrCut သည် PHP တွင်တရုတ်, ဂျပန်, ကိုးရီးယားစသည်တို့ကဲ့သို့ Multibyte ဇာတ်ကောင်များနှင့်ဆက်ဆံရာတွင်အလွန်လက်တွေ့လုပ်ဆောင်ချက်ဖြစ်သည်။ Substre နှင့်မတူဘဲ၎င်းသည် Multi-byte အက္ခရာများကိုဖြတ်တောက်မည်မဟုတ်ကြောင်း, Multi-byte strings များကိုကြားဖြတ်ရန် MB_structcut ကို မည်သို့မှန်ကန်စွာအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
သင်မစခင် MB_SstrCut နှင့် MB_Substrin အကြားခြားနားချက်ကိုအတိုချုပ်နားလည်ကြပါစို့။
MB_substrintr သည်အက်ခရာအရေအတွက်ဖြင့်ကြားဖြတ်နေသည်။
MB_StrCTRCT ကို byte အရှည်ဖြင့်ကြားဖြတ်ထားသော်လည်းဇာတ်ကောင်များကိုဖြတ်တောက်ခြင်းမဟုတ်ကြောင်းသေချာစေမည်။
နှစ် ဦး စလုံးထောက်ခံသတ်မှတ်ထားသောဇာတ်ကောင် encoding ။
ဆိုလိုသည်မှာ MB_StrCut သည် Byte အဆင့်တွင်စာသားကိုပြုပြင်ခြင်းအတွက်ပိုမိုသင့်တော်သည်,
string mb_strcut(string $string, int $start, int $length = null, string $encoding = null)
$ string : လုပ်ငန်းများ၌ခံရဖို့ string;
$ Start : START ရာထူး (bytes အားဖြင့်တွက်ချက်သည်);
$ အရှည် : ကြားဖြတ်ခံရဖို့ bytes အရေအတွက်,
$ encoding : (UTF-8, GBK စသဖြင့်) ဇာတ်ကောင် encoding (ဥပမာ UTF-8, GBK စသည်), optional ကို။
<?php
$str = "မင်္ဂလာပါ,ကမ်ာဘ!";
$result = mb_strcut($str, 0, 6, "UTF-8");
echo $result; // ထုတ်လုပ်ခြင်း:မင်္ဂလာပါ
?>
ရှင်းလင်းချက် - UTF-8 encoding အောက်ရှိတရုတ်ဇာတ်ကောင်တစ် ဦး ချင်းစီသည် 3 bytes များကို အသုံးပြု. 6 Bytes သည်တရုတ်စာလုံးနှစ်စောင်ဖြစ်သည်။
အကယ်. သင်သည်တရုတ်နိုင်ငံကိုကြားဖြတ်ရန် Substrat ကို သုံးရန်အသုံးပြုပါက,
<?php
$str = "မင်္ဂလာပါ,ကမ်ာဘ!";
echo substr($str, 0, 5); // 可能ထုတ်လုပ်ခြင်း乱码
?>
ဤပြ problem နာကိုရှောင်ရှားရန် MB_Strcut သို့ပြောင်းပါ။
<?php
$str = "မင်္ဂလာပါ,ကမ်ာဘ!";
echo mb_strcut($str, 0, 5, "UTF-8"); // ထုတ်လုပ်ခြင်း:ခင်ဗျားတို့
?>
ဆောင်းပါးအကျဉ်းချုပ်ကိုသင်ကြားဖြတ်ရန်လိုအပ်သည့်အခါ, အောက်ပါနည်းလမ်းကိုသင်အသုံးပြုနိုင်သည်။
<?php
$content = "ကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည်:https://gitbox.net/blog/php-mb_strcut-use";
$summary = mb_strcut($content, 0, 60, "UTF-8");
echo $summary . "...";
?>
၎င်းသည်ကွန်ရက်စာမျက်နှာတွင် concled code မပါ 0 င်သည့်ဝက်ဘ်စာမျက်နှာတွင်သတ်မှတ်ထားသောအရှည်အကျဉ်းချုပ်ကိုလုံခြုံစွာဖော်ပြလိမ့်မည်။
ကွဲပြားခြားနားသော encodings အောက်တွင်ကွဲပြားခြားနားသော byte အရှည်ကိုကွဲပြားသော Byte စာလုံးများကိုအသုံးပြုပြီး MB_strlen နှင့် MB_Strcut ကို dynamic processing အတွက်အသုံးပြုရန်အကြံပြုသည်။
<?php
function safe_cut($str, $maxBytes, $encoding = "UTF-8") {
return mb_strcut($str, 0, $maxBytes, $encoding);
}
?>
၎င်းသည် byte ကန့်သတ်ပြောင်းလွယ်ပြင်လွယ်များကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။
echo safe_cut("ဒါPHPstring ကိုအပြောင်းအလဲနဲ့ဥပမာ", 9); // ထုတ်လုပ်ခြင်း:ဒါ
MB_STRANCT သည် byte-level စစ်ဆင်ရေးတစ်ခုဖြစ်သည်။ ထို့ကြောင့်အချက်အလက်များကိုသိုလှောင်ခြင်းသို့မဟုတ်ထုတ်လွှင့်သောအခါအထူးသဖြင့်တိကျသောထိန်းချုပ်မှုအတွက်သင့်လျော်သည်။
၎င်းသည် HTML encoding သို့မဟုတ် filter strings များမဟုတ်ဘဲ htmlspecialchars ကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်ပေါင်းစပ်ရန်လိုအပ်သည်။
ဆာဗာတွင် mbstring extension ကိုဖွင့်ထားပြီး Phpinfo () မှတဆင့်ကြည့်ရှုနိုင်ကြောင်းသေချာပါစေ။
MB_StrCutut သည် PHP တွင် Multibyte strings များကိုကိုင်တွယ်ရန်အတွက်အထူးသဖြင့် byte အရှည်ကိုတိကျသောထိန်းချုပ်မှုလိုအပ်သည့်အခြေအနေများအတွက်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်သည်။ ကျိုးကြောင်းဆီလျော်စွာအနေအထားနှင့်အရှည်များကိုချိန်ညှိခြင်းနှင့် coding settings များကိုပေါင်းစပ်ခြင်းအားဖြင့်၎င်းသည်အမှိုက်များ code ပြ problems နာများကိုအလွယ်တကူရှောင်ရှားနိုင်ပြီးအစီအစဉ်၏ကြံ့ခိုင်မှုကိုတိုးတက်စေသည်။ MB_StrCut ကို ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အပြည့်အဝအသုံးချပါ။