လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> string ကိုကြားဖြတ်သောအခါ "ဇာတ်ကောင်ကိုစစ်ဆေးခြင်း" အမှားများကို iconv_substrart ကိုမည်သို့ကာကွယ်ရမည်နည်း။

string ကိုကြားဖြတ်သောအခါ "ဇာတ်ကောင်ကိုစစ်ဆေးခြင်း" အမှားများကို iconv_substrart ကိုမည်သို့ကာကွယ်ရမည်နည်း။

M66 2025-07-25

3 ။ "အက်ခရာဖြတ်စက်" အမှား၏အကြောင်းရင်းများ

  • : default encoding သည်သင်၏ string ကိုအမှန်တကယ် encoding မဟုတ်,

  • Intercept အရှည်သည်အမှန်တကယ်ဇာတ်ကောင်အရေအတွက်ထက်ကျော်လွန်သည် - ကြားဖြတ်အနေအထားသည်ကြိုး၏အရှည်ထက်ကျော်လွန်သောအခါအမှားတစ်ခုရှိသည်။

  • အဆိုပါ string ကိုယ်နှိုက်ကကိုက်ညီသို့မဟုတ်အကျင့်ပျက်ခြစားမှုဖြစ်ပါတယ်


4 ။ "ဇာတ်ကောင်ကိုဖြတ်ခြင်း" အမှားများကိုမည်သို့ကာကွယ်ရမည်နည်း။

  1. encoding ကိုခွဲခြားသတ်မှတ်

 <span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-string">'UTF-8'</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$offset</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span></span>
  1. ကြားဖြတ်သည့်အရှည်နှင့် offset သည် bytes မဟုတ်ဘဲဇာတ်ကောင်များအပေါ်အခြေခံထားကြောင်းသေချာပါစေ

iconv_substred$ Offset နှင့် $ အရှည် သည် character count များမဟုတ်ဘဲ string သည်သတ်မှတ်ထားသော encoding ဖြစ်ရမည်။

  1. ကြိုတင်အတွက် string အရှည် detect

နယ်စပ်ဖြတ်ကျော်မှုကိုရှောင်ရှားရန် string ကိုအရှည်ကိုဆုံးဖြတ်ရန် iCONV_STRANLEN ကို သုံးပါ။

 <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">$str</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$offset</span></span><span> &gt; </span><span><span class="hljs-variable">$length</span></span><span>) {
    </span><span><span class="hljs-comment">// offsets နှင့် Cross ကန့်သတ်ကိုင်တွယ်</span></span><span>
}
</span></span>
  1. အမှားကိုင်တွယ်

ICONV_Substr တွင် အမှားတစ်ခုဖြစ်ပါက၎င်းသည် မှားယွင်းသော ပြန်လာနိုင်သည်။ ကောင်းသောတရားကိုကျင့်သောသူ,

 <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$offset</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-comment">// ထုတ်ယူခြင်းကြားဖြတ်ပျက်ကွက်,ပရိုဂရမ်ခြွင်းချက်များကိုရှောင်ပါ</span></span><span>
}
</span></span>
  1. အခြားရွေးချယ်စရာတစ်ခုအဖြစ် Mbstring function ကိုသုံးပါ

MB_Substrintr သည် IconV_substr ကို အစားထိုးလေ့ရှိပြီးများသောအားဖြင့်အသုံးပြုသော Multi-byte-safe string intercept function ဖြစ်သည်။

 <span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$offset</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span></span>

V. နမူနာကုဒ်

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"ဒီစမ်းသပ်မှု string ကိုဖြစ်ပါတယ်,သရုပ်ပြသည် iconv_substr အသုံးရောင်。"</span></span><span>;
</span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-string">'UTF-8'</span></span><span>;
</span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">3</span></span><span>;
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-number">5</span></span><span>;

</span><span><span class="hljs-variable">$totalLength</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_strlen</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$offset</span></span><span> &gt; </span><span><span class="hljs-variable">$totalLength</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Intercept ၏ start အနေအထားသည် string အရှည်ထက်ကျော်လွန်သည်。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-variable">$substr</span></span><span> = </span><span><span class="hljs-title function_ invoke__">iconv_substr</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$offset</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$substr</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"string ကြားဖြတ်ပျက်ကွက်,coding ပြ problems နာများရှိနိုင်ပါသည်。"</span></span><span>;
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ရလဒ်များကိုကြားဖြတ်:"</span></span><span> . </span><span><span class="hljs-variable">$substr</span></span><span>;
    }
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>