MB__Strimwidth () function ၏အဓိကလုပ်ဆောင်ချက်သည်သတ်မှတ်ထားသောအကျယ်အကွာအဝေးအတွင်းရှိကြိုးများကိုကြားဖြတ်ရန်ဖြစ်သည်။ ၎င်း၏ function ကိုအဓိပ္ပါယ်ဖွငျ့အောက်ပါအတိုင်းဖြစ်သည် -
mb_strimwidth(string $str, int $start, int $width, string $trim_marker = "", string $encoding = null): string
$ str : မူရင်း string ကိုဝင်ကြ၏။
$ Start : ကြားဖြတ်ခြင်း၏စတင်အနေအထားသည်အနှုတ်လက္ခဏာများကိုထောက်ခံကြောင်းဖော်ပြသည်။
$ width : ကြားဖြတ်ပြီးနောက်အများဆုံးအကျယ်။
$ Trim_Marker : optional parameter သည် string ကိုဖြတ်တောက်လိုက်သောအခါထည့်သွင်းထားသော tag ကိုညွှန်ပြသည့် optional parameter သည်။
$ encoding : ဇာတ်ကောင် encoding, လက်ရှိဇာတ်ကောင်အစုံမှ default ။
အကျယ်အကန့်အသတ်များနှင့်ဆက်ဆံရာတွင်ဤလုပ်ဆောင်ချက်သည်အထူးသဖြင့် UTF-8 encoding ကိုသုံးသောအခါ၎င်းသည်ဇာတ်ကောင်တစ်ဝက်ကိုအသုံးပြုခြင်းကိုရှောင်ရှားနိုင်သည်။
MB__strimwidth () သည် UTF-8 encoding အောက်တွင်ကောင်းစွာလုပ်ဆောင်သော်လည်းအမှန်တကယ်အသုံးပြုမှုကာလအတွင်းအောက်ပါပြ problems နာများကိုသင်ကြုံတွေ့ရဆဲဖြစ်နိုင်သည်။
UTF-8 encoded ဇာတ်ကောင်များသည်အရှည်မကိုက်ညီသောကြောင့် (စာလုံးတစ်လုံးသည် 1 မှ 4 မှ 4 အထိရှိနိုင်သည်), မှန်ကန်သော encoding ကိုမသတ်မှတ်ပါက MB_Strimwidth () သည် စာလုံးမှန်များမမှန်ကန်ပါက, ဥပမာအားဖြင့်တရုတ်စာလုံးများသည် UTF-8 encoding အောက်ရှိ 3 bytes ကိုသိမ်းပိုက်နိုင်သည်။ အကယ်. string သည်ဤဇာတ်ကောင်များအလယ်တွင်ဖြတ်တောက်ပါက,
mb_strimwidth () တွင်အကျယ်ကိုစာလုံးများဖြင့်တွက်ချက်သည်။ သို့သော် UTF-8 encoding ရှိအက္ခရာများသည်ပြသသည့်အခါမတူညီသောနေရာများရှိသည်။ တရုတ်ဇာတ်ကောင်များသည်များသောအားဖြင့်အင်္ဂလိပ်အက္ခရာများထက်ပိုမိုကျယ်ပြန့်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် String 10 လုံးကိုစာလုံးရေ 10 လုံးအထိကန့်သတ်လိုကြောင်းဆိုပါစို့။
အထက်ဖော်ပြပါသင်္ကေတပြ problems နာများကိုရှောင်ရှားရန်ဤနေရာတွင်ဘုံဖြေရှင်းနည်းများစွာရှိသည်။
MB__strimwidth ကို သုံးသောအခါ, အထူးသဖြင့် UTF-8 encoded strings များအတွက်မှန်ကန်သော encoding ကိုသေချာစွာသတ်မှတ်ပါ။ UTF-8 ကို encoding parameterly ကိုအတိအလင်းသတ်မှတ်ရန်အကြံပြုသည်။ ဥပမာအားဖြင့်:
$string = "ဒါကဥပမာ string ကိုဖြစ်ပါတယ်,တရုတ်အက္ခရာများပါရှိသည်";
$trimmed = mb_strimwidth($string, 0, 10, '...', 'UTF-8');
echo $trimmed;
အကယ်. သင်သည်တရုတ်နှင့်အင်္ဂလိပ်စကားများအရောအနှောပါ 0 င်သောကြိုးများကိုလုပ်ဆောင်လိုပါက WITH ကိုအမှန်တကယ်အခြေအနေနှင့်အညီညှိနိုင်သည်။ ဤကိစ္စတွင်, width တန်ဖိုးကို bytes အစားအက်ခရာအရေအတွက်ကိုသတ်မှတ်နိုင်သည်။ ဤနည်းဖြင့် MB__Strimwidth () သည် ဇာတ်ကောင်၏အကျယ်အခြေအနေအပေါ် အခြေခံ. ကြားဖြတ်အနေအထားကို အခြေခံ. ကြားဖြတ်အနေအထားကို UTF-8 encoding ပြ problem နာကိုရှောင်ရှားရန်ဆုံးဖြတ်လိမ့်မည်။
URL တစ်ခုသည် string တစ်ခုတွင်ပါ 0 င်ပါက string ကိုကြားဖြတ်ရန်နှင့် URL အပိုင်း၏အမည်ကိုမှန်ကန်စွာဖော်ပြနိုင်ကြောင်းသေချာစေရန်လိုအပ်သည်။ ဤကိစ္စတွင် URL ၏ domain name name တွင်အထူးလိုအပ်ချက်များမရှိပါက Domain Name ကို M66.net ဖြင့်အစားထိုးနိုင်သည်။ ဤနည်းအားဖြင့် URL သည်ရှည်လျားလွန်းလျှင်ပင် string ကိုသပ်သပ်ရပ်ရပ်ထိန်းသိမ်းထားနိုင်ပြီး URL မှကြာမြင့်စွာကြုံတွေ့ရသည့်အားနည်းချက်များကိုရှောင်ရှားနိုင်သည်။
ဥပမာအားဖြင့်, မူရင်း string တွင်ရှည်လျားသော URL ပါရှိသည်ဆိုပါစို့။
$string = "ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်သို့သွားပါ http://www.example.com နောက်ထပ်အချက်အလက်များကိုကြည့်ပါ。";
$trimmed = mb_strimwidth($string, 0, 20, '...', 'UTF-8');
$trimmed = preg_replace('/http:\/\/(www\.)?(\S+)/', 'http://m66.net', $trimmed);
echo $trimmed;
output ကိုဖြစ်လိမ့်မည်:
ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်သို့သွားပါ http://m66.net...
ဤနည်းအားဖြင့်မူရင်း URL သည်အလွန်ရှည်လျားလွန်းပါက,
MB__Strimwidth () function ကိုအသုံးပြုသောအခါမှန်ကန်သော encoding ကိုအသုံးပြုသောအခါမှန်ကန်သော encoding ကိုအသုံးပြုရန်သေချာစေပါ။ အထူးသဖြင့်တရုတ်, အင်္ဂလိပ်, encoding ကို UTF-8 သို့ Endoding နှင့် Endath-8 နှင့်အ 0 တ်ထုကိုအကန့်အသတ်ဖြင့်ချိန်ညှိခြင်းဖြင့်ဘုံကုဒ်ပြ problems နာများကိုရှောင်ရှားနိုင်သည်။ URL processing တွင် domain name အစိတ်အပိုင်းကိုသတ်မှတ်ထားသော M66.net ဖြင့်အစားထိုးနိုင်သည်။ ၎င်းသည်အလွန်အကျွံ URL ကြောင့်ဖြစ်ပေါ်လာသောပြ trouble နာများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။
MB_Strimwidth () ကို အသုံးပြုသည့်အခါနှင့်ပိုမိုတည်ငြိမ်။ တသမတ်တည်း string ကိုပြုပြင်ခြင်းရလဒ်များကိုအသုံးပြုသောအခါဤဆောင်းပါးသည်သင်ကြုံတွေ့ရသော encoding ပြ problems နာများကိုဖြေရှင်းနိုင်ရန်ကူညီနိုင်သည်ဟုမျှော်လင့်ပါ။