လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> mb_structcut function ၏အခြေခံအသုံးပြုမှုကိုခွဲခြမ်းစိတ်ဖြာခြင်း

mb_structcut function ၏အခြေခံအသုံးပြုမှုကိုခွဲခြမ်းစိတ်ဖြာခြင်း

gitbox 2025-05-26

PHP တွင် Multi-byte strings များ (တရုတ်, ဂျပန်, ကိုးရီးယားစသကဲ့သို့) နှင့်ဆက်ဆံရာတွင်သာမန် stringing functions များသည် truncation functions များနှင့်အမှိုက်များနှင့်အမှိုက်များရှိနိုင်သည်။ ဤပြ problem နာကိုဖြေရှင်းရန် PHP သည် MB_Strcut function ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည် Multibyte ကြိုးများကိုကြားဖြတ်ရန်အထူးအသုံးပြုသည်။ ဤဆောင်းပါးသည် MB_structcut ၏အခြေခံအသုံးပြုမှုကိုအသေးစိတ်ဖော်ပြပေးမည်ဖြစ်ပြီး Multi-byte strings ၏ကြားဖြတ်နည်းစနစ်များကိုအလွယ်တကူကျွမ်းကျင်ရန်ဥပမာများကိုအသုံးပြုပါမည်။


mb_structcut function ကဘာလဲ။

MB_StrCut function သည် PHP Multi-byte string function library စာကြည့်တိုက်ဖြစ်သည်။ ၎င်း၏အဓိကလုပ်ဆောင်ချက်မှာ Multi-byte character sets များအတွက်သင့်လျော်သော string ၏သတ်မှတ်ထားသော byte အနေအထားကနေသတ်မှတ်ထားသောအရှည်မှသတ်မှတ်ထားသောအရှည်၏ bytes ၏ bytes ၏ bytes ၏ bytes အရေအတွက်ကိုကြားဖြတ်ရန်ဖြစ်သည်။ ၎င်း၏ကြားဖြတ်ချက်သည် bytes အပေါ်အခြေခံသည်။ သို့သော်၎င်းသည် Multi-byte အက္ခရာများကိုတစ်ဝက် ခွဲ. မရရှိနိုင်ပါ။

function ကိုလက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 mb_strcut(string $str, int $start, ?int $length = null, ?string $encoding = null): string
  • $ str : ကြားဖြတ်ခံရဖို့ string ကို။

  • $ စတင်ခြင်း - အစအနေအထားတွင်ယူနစ်သည် bytes ဖြစ်သည်။

  • $ အရှည် - ကြားဖြတ်သည့်အရှည်, ယူနစ် bytes ဖြစ်ပါတယ်။ ချန်လှပ်လျှင် string ၏အဆုံးကိုကြားဖြတ်နေသည်။

  • $ encoding - string တစ်ခု၏ encoding, default သည် internal encoding (များသောအားဖြင့် UTF-8) ဖြစ်သည်။


mb_strcut နှင့် mb_substr အကြားခြားနားချက်

mb_strcut နှင့် mb_subtrtr လုံးနှစ်မျိုးလုံးသည် Multi-byte strings ကိုကြားဖြတ်နိုင်သော်လည်းသူတို့၏ယုတ္တိဗေဒသည်ကွဲပြားခြားနားသည်။

  • MB_Subrcr သည် ဇာတ်ကောင်အရေအတွက်ဖြင့် string ကိုကြားဖြတ်သည်။

  • MB_StrCutut သည် bytes အရေအတွက်ဖြင့်ကြိုးများကိုဖြတ်တောက်ခြင်း (concled code ကိုဖြစ်ပေါ်စေသောစာလုံးများကိုရှောင်ကြဉ်ပါ။ )

ဥပမာအားဖြင့်, တရုတ်ဇာတ်ကောင်သည်တရုတ်ပါ 0 င်ပါကတရုတ်ဇာတ်ကောင်သည် UTF-8 encoding တွင် 3 byte 3 ခုနှင့် MB_Strcutcut မှသတ်မှတ်ထားသော byte အကွာအဝေးသည် granular နှင့် classembleds နှင့် chartersemble-hect unsemlemble မခံရပါ။


mb_strcut ၏အခြေခံအသုံးပြုမှုဥပမာ

MB_SstrCut နှင့်အတူတရုတ်ကြိုးများကိုမည်သို့ကြားဖြတ်ရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုရှိသည်။

 <?php
$text = "မင်္ဂလာပါ,ကမ်ာဘ!"; // ဒါကတရုတ်ဝါကျပါ,Multibyte ဇာတ်ကောင်ပါရှိသည်
// bytes အားဖြင့်ကြားဖြတ်,တည်နေရာစတင်ခြင်း0,အရှည်6ဒရယ်
$result = mb_strcut($text, 0, 6, 'UTF-8');
echo $result; // ထုတ်လုပ်ခြင်း "မင်္ဂလာပါ"
?>

ရှင်းပြပါ -

  • တရုတ် "သင်" နှင့် "ကောင်းသော" နှင့် "ကောင်းသော" သည် 3 bytes 3 ခုနှင့်ကြားဖြတ်နေသည့် 6 bytes များသည်တရုတ်စာလုံးနှစ်လုံးဖြစ်သည်။

  • အကယ်. သင်သည် Substring function ကိုအသုံးပြုပါက 6 bytes ကိုကြားဖြတ်ရန်အသုံးပြုပါက, ဇာတ်ကောင်များကိုဖြတ်တောက်ခြင်းနှင့်အမှိုက်များဖြစ်နိုင်သည်။


လက်တွေ့ကျသော application အတွက်သိကောင်းစရာများ

  1. barbled code ကိုရှောင်ကြဉ်ပါ ။ Byte စာလုံးများပါ 0 င်သော strings များကိုထုတ်ယူခြင်းသည်ကြားဖြတ်ရွေးချယ်မှုရလဒ်ကိုမဖျက်ဆီးနိုင်အောင် MB_StrCut ကို ဦး စွာသုံးပါ။

  2. Encoding encoding - ကွဲပြားခြားနားသော default encodings ကြောင့်ဖြစ်ပေါ်လာသောပြ problems နာများကိုကာကွယ်ရန် encoding parameter များကိုအမြဲတမ်းသတ်မှတ်ရန်အကြံပြုသည်

  3. strlen နှင့်ပေါင်းစပ်ပါ ။ string တစ်ခု၏ပထမတစ်ဝက်ကိုကြားဖြတ်ရန်သင်ဟာ MB_strlen ကို ဇာတ်ကောင်အရှည်ရဖို့အတွက် MB_strlen ကို သုံးနိုင်တယ်။


URL ဥပမာများနှင့်အတူပေါင်းစပ်

သင်က URL ကို multibyte string ကိုဖြတ်တောက်လိုသည့်ဆိုပါစို့။

 <?php
$text = "ကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက်သို့သွားပါ:";
$url = "https://gitbox.net/path/to/resource";
$result = mb_strcut($text, 0, 12, 'UTF-8'); // ကြားကြား6个中文字符的ဒရယ်အရှည်
echo $result . $url;
?>

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

 ကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက်သို့သွားပါ:https://gitbox.net/path/to/resource

အကျဉ်းချုပ်

  • MB_StrCutut သည် Byte string trring ခြင်းကိုကိုင်တွယ်ရန်အကောင်းဆုံးလုပ်ဆောင်မှုဖြစ်သည်။

  • utf-8-encoded တရုတ်, ဂျပန်နှင့်အခြားကြိုးများနှင့်အခြားကြိုးများနှင့်အခြားကြိုးများနှင့်အခြားကြိုးများဖြင့်သင့်တော်သည်။

  • ချကျန်းရေးကိုသေချာစေရန်၎င်းကိုအသုံးပြုသောအခါ encoding parameters တွေကိုရှင်းရှင်းလင်းလင်းဖော်ပြရန်အကြံပြုသည်။

  • လက်တွေ့ကျသော application များနှင့်ပေါင်းစပ်ပြီး strings and splice urls သို့မဟုတ်အခြားအကြောင်းအရာများကိုအလွယ်တကူသိရှိနိုင်သည်။

MB_StrCut ကိုကျွမ်းကျင်စေခြင်းအားဖြင့် PHP အစီအစဉ်များ၏ကြံ့ခိုင်မှုနှင့်အတွေ့အကြုံများကိုတိုးတက်အောင်ပြုလုပ်နိုင်သည်။