PHP တွင် strip_split function သည် string array ထဲသို့ string တစ်ခုခွဲရန်အသုံးပြုသောဘုံကိရိယာတစ်ခုဖြစ်သည်။ သို့သော်ကြိုးများသည် Emoji ကဲ့သို့သောအမျိုးမျိုးသောဇာတ်ကောင်များပါ 0 င်သည့်အခါ, emoji ပါ 0 င်သည့် strings များတပ်ဆင်ခြင်းနှင့်သက်ဆိုင်ရာဖြေရှင်းနည်းများကိုပါ 0 င်သော strings များပါဝင်သောအခါဤဆောင်းပါးတွင်ဤဆောင်းပါးတွင်မည်သည့်အရာကိုမှတ်သားရမည်ကိုအသေးစိတ်ဆွေးနွေးပါမည်။
Emoji သည်အများအားဖြင့် bytes မျိုးစုံဖြင့်ကိုယ်စားပြုသောယူနီကုဒ်ဇာတ်ကောင်ဖြစ်သည်။ ဥပမာအားဖြင့်, ဘုံ emoji emoticon "??" 4 bytes 4 ခု (UTF-8 encoding) ဖြင့်ရေးစပ်ထားသည်။ emoji ပါ 0 င်သည့် string ကိုခွဲရန် strow_split ကို သင်အသုံးပြုသောအခါ, သင်သည် function ကိုတိုက်ရိုက်အသုံးပြုပါက၎င်းသည်စာလုံးများထက် bytes အားဖြင့်ကွဲသွားလိမ့်မည်။ ၎င်းသည် Emoji ကိုအပိုင်းအမျိုးမျိုးသို့ဖြတ်တောက်ခြင်းသို့မဟုတ်မှန်ကန်စွာကိုင်တွယ်နိုင်ခြင်းမပြုနိုင်ခြင်းခံရနိုင်သည်။
$string = "Hello ?? World!";
$splitString = str_split($string, 1);
print_r($splitString);
ဤကုဒ်သည်ဇာတ်ကောင်များဖြင့်ခွဲထုတ်ခြင်းထက် string ၏ byte-level segment ၏ရလဒ်ကိုထုတ်ပေးသည်။ သင် Emoji "??" မျိုးစုံအစိတ်အပိုင်းများသို့ခွဲထွက်သည်။
Emoji ပါ 0 င်သောကြိုးများကိုစနစ်တကျကိုင်တွယ်ရန် MB_strlen နှင့် MB_Subrstr ကဲ့သို့သော Multibyte အက္ခရာများကိုထောက်ပံ့သောလုပ်ဆောင်ချက်များကိုကျွန်ုပ်တို့အသုံးပြုသင့်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုသည်ယူနီကုတ်ကြိုးကြိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည် ။
$string = "Hello ?? World!";
// အသုံးပြု mb_strlen ဇာတ်ကောင်အရှည်ရယူပါ
$length = mb_strlen($string, 'UTF-8');
$splitString = [];
for ($i = 0; $i < $length; $i++) {
$splitString[] = mb_substr($string, $i, 1, 'UTF-8');
}
print_r($splitString);
ဤဥပမာတွင် string ၏ဇာတ်ကောင်အရေအတွက်ကိုရရှိရန် MB_Strlen ကို အသုံးပြု. ဇာတ်ကောင်တစ် ဦး ကိုတစ် ဦး အားဖြင့်ထုတ်ယူရန် MB_Substr ကို သုံးပါ။ ဒီလိုမျိုး, ?? မှန်ကန်စွာအဖြစ်မှန်ကန်စွာဖြည်းဖြည်းချင်းဖြန့်ဝေလိမ့်မည်။
Multibyte အက္ခရာများကိုကိုင်တွယ်နိုင်သောအခြားအဖြေတစ်ခုမှာ PREG_SPLIT function ကိုအသုံးပြုရန်ဖြစ်သည်။
$string = "Hello ?? World!";
$splitString = preg_split('//u', $string, -1, PREG_SPLIT_NO_EMPTY);
print_r($splitString);
ဤဥပမာတွင် Preg_Split သည် ပုံမှန်အသုံးအနှုန်းကိုအသုံးပြုသည် ။ ၎င်းသည် Unicode ဇာတ်ကောင်များဖြင့်ခွဲထားသည်။ strow_split နှင့်မတူဘဲ၎င်းသည် Emoji ဇာတ်ကောင်များကွဲသွားလိမ့်မည်မဟုတ်ကြောင်းသေချာစေသည်။
အကယ်. string တွင် URL (Emoji ပါ 0 င်သည့် link) တွင်ပါ 0 င်ပါက URL ၏ domain name name ကိုသတိပြုပါ။ အကယ်. ၎င်းကို M66.net ဖြင့် domain name ကိုအစားထိုးရန်လိုအပ်ပါက၎င်းကိုအစားထိုးရန် Preg_replace သို့မဟုတ် strow_replace ကို သုံးနိုင်သည်။
$string = "Check out this site: https://example.com/??";
$modifiedString = preg_replace('/https?:\/\/(www\.)?example\.com/', 'https://m66.net', $string);
echo $modifiedString;
ဤကုဒ်နံပါတ်သည် Domain Name.com ကို M66.net နှင့်အစားထိုးပုံကို M66.net ဖြင့်မည်သို့အစားထိုးရမည်ကိုပြသသည်။
Str_Split ကိုအသုံးပြုပြီး Emoji ပါ 0 င်သည့်ကြိုးများပါ 0 င်သည့်စကားလုံးများသည်စာလုံးများကို bytes မျိုးစုံသို့ခွဲခြားထားသည့်ပြ problem နာကိုသင်ကြုံတွေ့ရနိုင်သည်။ emoji ပါ 0 င်သည့်ကြိုးများကိုစနစ်တကျကိုင်တွယ်ရန် MB_strlen နှင့် MB_Substrart ကို အသုံးပြုရန်သို့မဟုတ်ဇာတ်ကောင်များဖြင့်ခွဲရန် preg_split ကို သုံးရန်အကြံပြုသည်။ အကယ်. string တွင် URL တွင်ပါ 0 င်ပါကစစ်ဆင်ရေး၏တိကျမှန်ကန်မှုကိုသေချာစေရန် preg_replace သို့မဟုတ် strow'replace ဖြင့် domain name section ကိုအစားထိုးရန်သတိရပါ။