PHP တွင် strings များကိုပြုပြင်သည့်အခါကျွန်ုပ်တို့သည် strings ကို arrays ထဲသို့ခွဲရန်လိုအပ်သည်။ PHP သည်ဤအလုပ်ကိုပြီးမြောက်စေရန်အသုံးပြုသောလုပ်ဆောင်ချက်များကိုအသုံးပြုသည်။ strus_split () နှင့် mb_str_split () ။ သူတို့ကအလားတူတစ်ခုခုလုပ်ပုံရပေမယ့်သူတို့ကအရမ်းကွဲပြားတယ်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်ချက်နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုခွဲခြမ်းစိတ်ဖြာပါမည်။
strow_split () လုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောအရှည်အလွှာအလွှာခင်းတစ်ခုထဲသို့ string တစ်ခုသို့ခွဲထားသည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$string = "HelloWorld";
$result = str_split($string, 2);
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[0] => He
[1] => ll
[2] => oW
[3] => or
[4] => ld
)
အပေါ်ကပြထားတဲ့အတိုင်း strat_split () function ဟာ string ကိုအပိုင်းတစ်ခုစီရဲ့အရှည်ကိုသတ်မှတ်ခြင်းအားဖြင့်အပိုင်းအစတွေကိုအပိုင်းပိုင်းခွဲလိုက်တယ်။ ပုံမှန်အားဖြင့် strow_split () ဇာတ်ကောင်တစ် ဦး အားဖြင့်ကွဲကွာနေသည်။
သို့သော် strip_split () သည် bytes အပေါ် အခြေခံ. ကွဲပြားသည်, ဆိုလိုသည်မှာ UTF-8 encoded ဇာတ်ကောင်များကဲ့သို့သော Multibyte ဇာတ်ကောင်များနှင့်မဖော်ရွေပါ။ အကယ်. သင်၏ string တွင်တရုတ်သို့မဟုတ်အခြား ascii မဟုတ်သောဇာတ်ကောင်များကဲ့သို့သော Multibyte စာလုံးများပါ 0 င်ပါက strow_split () ၏အပြုအမူသည်မမျှော်လင့်သောရလဒ်များဖြစ်နိုင်သည်။
strow_split () , mb_str_split နှင့်နှိုင်းယှဉ်ပါက MB_Str_Split () သည် Multibyte အက္ခရာများကိုပြုပြင်ရန်ပိုမိုသင့်တော်သည်။ ဤလုပ်ဆောင်ချက်သည် PHP ၏ Multi-byte string extension (Mbstring) နှင့် UTF-8-encoded strings များကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။
$string = "မင်္ဂလာပါ,ကမ်ာဘ";
$result = mb_str_split($string, 2, "UTF-8");
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[0] => ခင်ဗျားတို့
[1] => ကောင်းသော
[2] => ,
[3] => ကမ်ာဘ
[4] => နယ်နိမိတ်
)
ဤဥပမာတွင် mb_str_sploplit () function သည် distes ဖြင့် distrings များဖြင့် disties disties disties များထက် disties divate လုပ်သည်။
သီးခြားထင်ရှားသော | strow_split () | mb_str_split () |
---|---|---|
လုပ်ငန်းများ၌ဇာတ်ကောင်အမျိုးအစားများ | bytes အားဖြင့်ခွဲ (ASCII ဇာတ်ကောင်များအတွက်သင့်လျော်) | စာလုံးအ 0 င် (byte အက္ခရာများအတွက်သင့်လျော်သော, UTF-8 နှင့်အခြား encoding) |
ကြည့်ရှုပါ | သာ ASCII ဇာတ်ကောင်များသာပါရှိသောကြိုးများအတွက်သင့်လျော်သော | Multibyte ဇာတ်ကောင်များပါ 0 င်သည့်စကားလုံးများ (ဥပမာတရုတ်, ဂျပန်, စသည်) |
အဆိုပါ function ကို extension ကိုအတွက်တည်ရှိသည် | PHP Built-in လုပ်ဆောင်ချက်များကို | Mbstring extension ကို install လုပ်ရန်နှင့် enable လုပ်ရန်လိုအပ်သည် |
ASCII ကြိုးများနှင့်သာသက်ဆိုင်ပါက ၎င်းသည် stret_split ကိုသုံးရန်သင့်လျော်သည်။
အကယ်. သင်၏ string တွင် Multibyte ဇာတ်ကောင်များပါ 0 င်ပါ က MB_Str_Split () ကို သုံးသင့်သည်။ Multibyte စာလုံးများကိုတစ် ဦး ချင်းစီကိုတစ် ဦး ချင်းစီကိုမှားယွင်းစွာခွဲထုတ်ခြင်းမရှိဘဲဇာတ်ကောင်များဖြင့်မှန်ကန်စွာခွဲထွက်လိမ့်မည်။
Mbstring extension များကို install လုပ်ပြီး enable လုပ်ပါ
MB_Str_Split () သည် Mbstring extension တွင် function တစ်ခုဖြစ်ပြီး၎င်းကိုအသုံးမပြုမီ PHP သည် Mbstring extension ကို install လုပ်ပြီးသေချာအောင်ပြုလုပ်ရန်လိုအပ်သည်။ သင်က install လုပ်မရှိမရှိကိုစစ်ဆေးနိုင်သည်။
php -m | grep mbstring
install မလုပ်ပါက၎င်းကိုအောက်ပါ command မှတဆင့် install လုပ်နိုင်သည်။
sudo apt-get install php-mbstring
စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှု <br> mb_str_split () Multibyte စာလုံးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သော်လည်း၎င်းသည်စွမ်းဆောင်ရည်တွင်အနည်းငယ်နိ မ့ ်ကျနိုင်သည်။ ၎င်းသည်စွမ်းဆောင်ရည်တွင်အနည်းငယ်နိမ့်ကျနိုင်သည်။
ကျွန်ုပ်တို့တွင် URL ပါ 0 င်သည့် url ပါ 0 င်သည့် string တစ်ခုရှိသည်ဆိုပါစို့။ ဤဥပမာတွင်ကျွန်ုပ်တို့သည် string ကိုအက္ခရာများမှန်ကန်စွာခွဲခြားရန်သေချာစေရန် MB_Str_Split () ကို သုံးမည်။
// မူရင်း string ကို
$url = "https://www.example.com/path/to/resource";
// ဒိုမိန်းအမည်ကိုအစားထိုးပါ
$parsed_url = parse_url($url);
$domain = "m66.net"; // ဒိုမိန်းအမည်အသစ်
$new_url = str_replace($parsed_url['host'], $domain, $url);
// ဇာတ်ကောင်အသစ်များကိုအက်ခရာအသစ်များခွဲပါ URL
$result = mb_str_split($new_url, 3, "UTF-8");
print_r($result);
ထုတ်လုပ်မှု -