PHP ပရိုဂရမ်တွင် String အရှည်နှင့်စပ်လျဉ်း။ စိန်ခေါ်မှုများအချို့, အထူးသဖြင့်တရုတ်, ဂျပန်, ကိုးရီးယားစသည်တို့စသည်တို့အတွက်) strlen () နှင့် substric) functions များသည်ပုံမှန်အားဖြင့်တစ်ကိုယ်ရေအက္ခရာများအတွက်ဒီဇိုင်းပြုလုပ်ထားသောကြောင့်၎င်းတို့သည် byte အက္ခရာများတွင်ပြ problems နာများရှိနိုင်သည်။ ကံကောင်းထောက်မစွာပင် PHP သည် ICOV_Substr () ဤပြ problem နာကိုဖြေရှင်းနိုင်သည့် ICONV_Substr () ကိုကောင်းစွာဖြေရှင်းနိုင်သည့်အင်အားကြီးသည့် ICONV စာကြည့်တိုက်စာကြည့်တိုက်ဖြစ်သည်။ Today, iconv_substr () နှင့် strlen () strlen () strlen () strlen () ကို မည်သို့အသုံးပြုရမည်ကိုလေ့လာမည်။
အစဉ်အလာ substr () နှင့် strlen () functions () functions () functions (ဥပမာ - တရုတ်ကဲ့သို့သောဇာတ်ကောင်များ (တရုတ်) ဇာတ်ကောင်များနှင့်အတူကိုင်တွယ်ဖြေရှင်းပါကဇာတ်ကောင်အရေအတွက်ထက်ဇာတ်ကောင်များအရေအတွက်ကိုတွက်ချက်လိမ့်မည်။ ၎င်းသည်တွက်ချက်ထားသော string အရှည်ကိုမျှော်လင့်ထားသည့်အတိုင်းမဖြစ်နိုင်ပါ။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ!"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 18</span></span><span>
</span></span>
ဤအချိန်တွင် strlen () ဇာတ်ကောင်အစား bytes အရေအတွက်ကိုပြန်ပို့သည်။ တရုတ်ဇာတ်ကောင်များသည် 3 bytes 3 ခုကိုယူကြပြီးဤ string တွင်စာလုံး 6 လုံးရှိသော်လည်း strlen () သည် 18 bytes () မတော်တဆပြန်ရောက်သည်။
IconV_substr () ကိုအထူးပြုလုပ်ရန်အထူးအသုံးပြုသည်။ ၎င်းသည် Bytes မဟုတ်ဘဲအက်ခရာအရေအတွက်ကိုမှန်ကန်စွာတွက်ချက်နိုင်ပါသည်, ထို့ကြောင့် string ၏အရှည်ကိုတိကျစွာထိန်းချုပ်နိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် iconv_strinlen () ကို တွက်ချက်ရန်လိုအပ်ပြီး bytes အရေအတွက်မဟုတ်ဘဲ string ၏ဇာတ်ကောင်အရေအတွက်ကိုတွက်ချက်ရန်လိုအပ်သည်။ iconv_strinlen () သည် strings string တွင်အမှန်တကယ်အက္ခရာများကိုပြန်ပို့သည်ဖြစ်စေ,
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ!"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">iconv_strlen</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း 6</span></span><span>
</span></span>
နောက်တစ်ခုက string ကိုကြားဖြတ်ဖို့ Iconv_substr () ကို သုံးနိုင်တယ်။ ၎င်း၏ parameters များသည် substrict () နှင့်ဆင်တူသော်လည်း Multibyte ဇာတ်ကောင်အစုံများ၏မှန်ကန်သောကြားဖြတ်မှုကိုထောက်ခံသည်။ iCONONV_STRLEN () နှင့် iconv_substred () ကို ပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကြားဖြတ် string ၏ဇာတ်ကောင်အရှည်ကိုအတိအကျထိန်းချုပ်နိုင်သည်။
<span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ!"</span></span><span>;
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-number">3</span></span><span>;
</span><span><span class="hljs-variable">$substring</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$substring</span></span><span>; </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "မင်္ဂလာပါ,"</span></span><span>
</span></span>
ဤဥပမာတွင် iconv_substr () တွင် string နှင့် complecepts 3 လုံး၏ပထမဆုံးဇာတ်ကောင်မှကြားဖြတ်။ ဤနေရာတွင် အရှည်သည် substrat () တွင်တိကျသော byte အရေအတွက်ကိုရှောင်ရှားသော byte နံပါတ်ထက်ဇာတ်ကောင်နံပါတ်ဖြစ်သည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည် string ကိုအရှည်မတူကွဲပြားသောအခြေအနေများနှင့်အညီပြသထားသည့်ကွဲပြားသောအခြေအနေများနှင့်အညီပုံမှန်အားဖြင့်ထိန်းချုပ်ရန်လိုအပ်သည်။ ICONV_SubstrChstr () နှင့် iCONV_STRSTRLEN () ပေါင်းစပ်ခြင်းအားဖြင့်၎င်းကိုကျွန်ုပ်တို့အလွယ်တကူအောင်မြင်နိုင်သည်။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">truncate_string</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$string</span></span></span><span>, </span><span><span class="hljs-variable">$max_length</span></span><span>) {
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_strlen</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$length</span></span><span> > </span><span><span class="hljs-variable">$max_length</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$max_length</span></span><span>, </span><span><span class="hljs-string">'UTF-8'</span></span><span>) . </span><span><span class="hljs-string">'...'</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>;
}
}
</span><span><span class="hljs-variable">$string</span></span><span> = </span><span><span class="hljs-string">"မင်္ဂလာပါ,ကမ်ာဘ!ဒီစမ်းသပ်မှု string ကိုဖြစ်ပါတယ်。"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">truncate_string</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>); </span><span><span class="hljs-comment">// ထုတ်လုပ်ခြင်း "မင်္ဂလာပါ,ကမ်ာဘ!..."</span></span><span>
</span></span>
ဤဥပမာတွင် truncate_string () function () function သည်အများဆုံးပေးထားသောအရှည်အပေါ် အခြေခံ. string ကိုကြားဖြတ်ပြီးအဆုံးတွင် ellipsis ကိုထပ်ထည့်သည်။
IcONV_Substr () နှင့် iCONV_Strsten () ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Multibyte ဇာတ်ကောင်အစုံတွင်ကြိုးမဲ့ထိန်းချုပ်မှုပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်သည်။ ဤ လုပ်ဆောင်ချက်များ သည် ကျွန်ုပ်တို့အား Demles ထက်စာနယ်ဇင်းများမှတိကျသောစကားလုံးများဖြင့်တိကျစွာဖြတ်သန်းရန်, အကယ်. သင်၏စီမံကိန်းသည်ဘာသာစကားမျိုးစုံဘာသာစကားများဖြင့်အထူးသဖြင့်တရုတ်, ဂျပန်, ကိုးရီးယားနှင့်အခြားဇာတ်ကောင်များအပါအ 0 င်ဤလုပ်ဆောင်ချက်နှစ်ခုသည်အလွန်လက်တွေ့ကျသည့်ကိရိယာများဖြစ်သည်။