လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Caster-mb_stristr function ကိုအသုံးပြုနည်းကို Caster-Missensive String Search ကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်နည်း။

Caster-mb_stristr function ကိုအသုံးပြုနည်းကို Caster-Missensive String Search ကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်နည်း။

M66 2025-08-04

Caster -mb_stristr function ကိုအသုံးပြုနည်းကို Caster-Missensive String Search ကိုအကောင်အထည်ဖော်ရန်မည်သို့အသုံးပြုရမည်နည်း။

PHP တွင် string manipulation သည်အလွန်များသောအားဖြင့်အရေးကြီးသည်။ ပိုမိုပြောင်းလွယ်ပြင်လွယ် string processing အောင်မြင်ရန် PHP သည်အသုံး 0 င်သည့်လုပ်ဆောင်ချက်များစွာကိုထောက်ပံ့ပေးသည်။ သူတို့ထဲမှတစ်ခုမှာ MB_Strstrtstrcrstrstr function ဖြစ်သည်။ ၎င်းသည် Multibyte encoded string တွင်အလွှာတစ်ခုကိုရှာတွေ့နိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်အဓိကအားဖြင့် UTF-8 သို့မဟုတ်အခြား Multibyte ဇာတ်ကောင်အစုံကဲ့သို့ကြိုးများကိုပြုလုပ်ရန်ဖြစ်သည်။

1 ။ MB_Stristr function ကိုနိဒါန်း

MB_Strcrcrcr သည် PHP တွင်ပါ 0 င်သော string transpups ပြုလုပ်ရန် PHP တွင် Multibyte ဗားရှင်းလုပ်ဆောင်ချက်ဖြစ်သည်။ ပုံမှန် strstrst function နှင့်ဆင်တူသည်, MB_Strstrcr သည် သတ်မှတ်ထားသော substring ပထမ ဦး ဆုံးပေါ်လာသည့်အပိုင်းကိုပြန်လည်ရောက်ရှိစေသည်။

function ရှေ့ပြေးပုံစံ:

 <span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$before_needle</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ haystack : ဤသည်ကိုရှာဖွေရန်ပစ်မှတ် string ကိုဖြစ်ပါတယ်။

  • $ အပ် - ဤသည်မှာသင်ရှာဖွေနေသည့်အလွှာဖြစ်သည်။

  • $ A_NEEDLE - အကယ်. မှန်ကန် ရန်သတ်မှတ်ထားပါက Returned string သည် $ haystack မှ ဒေါ်လာထိုးရန် ပထမ ဦး ဆုံးပေါ်လာလိမ့်မည်။ $ အပ် ပြီးနောက်တစ်စိတ်တစ်ပိုင်းကိုပြန်ပို့သောပုံမှန်အားဖြင့် default သည် မှား သည်။

  • $ encoding : အသေးစိတ်ဖော်ပြချက် encoding ကိုသတ်မှတ်ခြင်း (မသတ်မှတ်ပါကပုံမှန်စာလုံးများ Encoding Settings ကိုသုံးရန်ဖြစ်သည်။

2 ။ နမူနာကုဒ်

အမှုအာရုံမခံစားနိုင်သည့်အလွှာများကိုရှာဖွေရန် MB_Strtrstrunction function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// encoding ကိုသတ်မှတ်ပါ UTF-8</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mb_internal_encoding</span></span><span>(</span><span><span class="hljs-string">"UTF-8"</span></span><span>);

</span><span><span class="hljs-comment">// ပစ်မှတ် string ကို</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"Hello, ကမ်ာဘ! Welcome to PHP."</span></span><span>;

</span><span><span class="hljs-comment">// ရှာဖွေတွေ့ရှိခံရဖို့အလွှာ</span></span><span>
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"world"</span></span><span>;

</span><span><span class="hljs-comment">// အသုံးပြု mb_stristr substrings ရှာပါ,အမှုအာရုံမခံစားနိုင်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</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-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အလွှာတွေ့ရှိခဲ့ပါတယ်: "</span></span><span> . </span><span><span class="hljs-variable">$result</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">"အဘယ်သူမျှမ substring တွေ့ရှိခဲ့ပါတယ်。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ရှင်းပြပါ -

  1. MB_Internal_encoding ("UTF-8") သည် ITF-8 သို့ internal charning encoding ကို utf-8 သို့သတ်မှတ်ထားသည်။

  2. $ haystack ရှိ $ အပ်ကို ရှာဖွေရန် MB_Strcrcre ($ haystack, $ အပ်) ကိုကျွန်ုပ်တို့သုံးသည်။ MB__Stristr သည်ဖြစ်ရပ်မှန်မခံစားနိုင်သောကြောင့် "World" နှင့် "World" နှစ်ခုလုံးသည်ကိုက်ညီသည်ဟုယူမှတ်ကြသည်။

  3. ကိုက်ညီသောအလွှာတစ်ခုကိုတွေ့ရှိပါက function သည်ကိုက်ညီမှုမရှိသောအနေအထားမှ string ၏အဆုံးအထိတစ်စိတ်တစ်ပိုင်းကိုပြန်ပို့သည်။ မတွေ့ ပါက,

3 ။ Multibyte ဇာတ်ကောင်မျိုးဆက်

MB__Stristr ၏အရေးကြီးသောအင်္ဂါရပ်တစ်ခုမှာ၎င်းသည် Multibyte ဇာတ်ကောင်အစုံများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည့် (UTF-8, SJIs စသည်) ။ ၎င်းသည် ASCII မဟုတ်သောကြိုးများနှင့်ဆက်ဆံရာတွင်၎င်းသည် ဒေါသ ထက် ပို. စိတ်ချစေသည်။

ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်တရုတ်စာလုံးများကိုရှာဖွေနေသည်ဆိုပါစို့။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// ပစ်မှတ် string ကို包含中文字符</span></span><span>
</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"ငါ programming ကြိုက်တယ်。"</span></span><span>;

</span><span><span class="hljs-comment">// တေှ့မြင်"ကဲ့သို့"အလွှာ</span></span><span>
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"ကဲ့သို့"</span></span><span>;

</span><span><span class="hljs-comment">// တေှ့မြင်并返回匹配部分</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</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-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အလွှာတွေ့ရှိခဲ့ပါတယ်: "</span></span><span> . </span><span><span class="hljs-variable">$result</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">"အဘယ်သူမျှမ substring တွေ့ရှိခဲ့ပါတယ်。"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤဥပမာတွင် MB_Stristr သည် Multibytre ဇာတ်ကောင်ကိုမှန်ကန်စွာအသိအမှတ်ပြုပြီး substring မှစတင်သောနောက်ဆက်တွဲအပိုင်းကိုပြန်လည်ရရှိခဲ့သည်။

4 ။ မှတ်စုများ

  • ဇာတ်ကောင် encoding : $ haystack နှင့် $ အပ် ၏ဇာတ်ကောင် encoding သည်အထူးသဖြင့် Multibyte ဇာတ်ကောင်အစုံနှင့်ဆက်ဆံရာတွင်တသမတ်တည်းဖြစ်ကြောင်းသေချာပါစေ။ အကယ်. encoding နှင့်မကိုက်ညီပါက၎င်းသည်မမှန်မကန်သို့မဟုတ်မမှန်ကန်သောရလဒ်များဖြစ်ပေါ်နိုင်သည်။

  • စွမ်းဆောင်ရည်စဉ်းစားမှုများ - သာမန် stistr လုပ်ဆောင်ချက်များနှင့်နှိုင်းယှဉ်လျှင် MB_Stristr ၏စွမ်းဆောင်ရည်သည်အထူးသဖြင့်စာသားအမြောက်အများကိုရှာဖွေသောအခါအနည်းငယ်နိမ့်ကျနိုင်သည်။ အမှန်တကယ်အခြေအနေများအပေါ် အခြေခံ. စဉ်းစားသင့်သည်။

  • မူရင်းအနေအထားသို့မပြန်ခြင်း - MB_STRPOS ကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်မတူဘဲ MB_Strpos ကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်မတူဘဲ MB_Strcrcr သည် လိုက်ဖက်သည့်နေရာမှစတင်နိုင်သည့်အလွှာတစ်ခုသို့ပြန်ပို့သည်။ အကယ်. သင်သည်တည်နေရာကိုရရန်လိုအပ်ပါက MB_STRPOS (သို့) MB_Strrpos (ပြောင်းပြန်ရှာဖွေရန်) ကိုသုံးနိုင်သည်။

5 ။ အကျဉ်းချုပ်

MB_Stristr သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့် UTF-8 သို့မဟုတ်အခြား encoded strings များကိုလုပ်ဆောင်ရန်လွယ်ကူပြီးပြောင်းလွယ်ပြင်လွယ် string ကိုလိုက်ဖက်သည်။