PHP တွင် string manipulation သည်အလွန်များသောအားဖြင့်အရေးကြီးသည်။ ပိုမိုပြောင်းလွယ်ပြင်လွယ် string processing အောင်မြင်ရန် PHP သည်အသုံး 0 င်သည့်လုပ်ဆောင်ချက်များစွာကိုထောက်ပံ့ပေးသည်။ သူတို့ထဲမှတစ်ခုမှာ MB_Strstrtstrcrstrstr function ဖြစ်သည်။ ၎င်းသည် Multibyte encoded string တွင်အလွှာတစ်ခုကိုရှာတွေ့နိုင်သည်။ ဤလုပ်ဆောင်ချက်သည်အဓိကအားဖြင့် UTF-8 သို့မဟုတ်အခြား Multibyte ဇာတ်ကောင်အစုံကဲ့သို့ကြိုးများကိုပြုလုပ်ရန်ဖြစ်သည်။
MB_Strcrcrcr သည် PHP တွင်ပါ 0 င်သော string transpups ပြုလုပ်ရန် PHP တွင် Multibyte ဗားရှင်းလုပ်ဆောင်ချက်ဖြစ်သည်။ ပုံမှန် strstrst function နှင့်ဆင်တူသည်, MB_Strstrcr သည် သတ်မှတ်ထားသော substring ပထမ ဦး ဆုံးပေါ်လာသည့်အပိုင်းကိုပြန်လည်ရောက်ရှိစေသည်။
<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 ကိုသုံးရန်ဖြစ်သည်။
အမှုအာရုံမခံစားနိုင်သည့်အလွှာများကိုရှာဖွေရန် MB_Strtrstrunction function ကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
MB_Internal_encoding ("UTF-8") သည် ITF-8 သို့ internal charning encoding ကို utf-8 သို့သတ်မှတ်ထားသည်။
$ haystack ရှိ $ အပ်ကို ရှာဖွေရန် MB_Strcrcre ($ haystack, $ အပ်) ကိုကျွန်ုပ်တို့သုံးသည်။ MB__Stristr သည်ဖြစ်ရပ်မှန်မခံစားနိုင်သောကြောင့် "World" နှင့် "World" နှစ်ခုလုံးသည်ကိုက်ညီသည်ဟုယူမှတ်ကြသည်။
ကိုက်ညီသောအလွှာတစ်ခုကိုတွေ့ရှိပါက function သည်ကိုက်ညီမှုမရှိသောအနေအထားမှ string ၏အဆုံးအထိတစ်စိတ်တစ်ပိုင်းကိုပြန်ပို့သည်။ မတွေ့ ပါက,
MB__Stristr ၏အရေးကြီးသောအင်္ဂါရပ်တစ်ခုမှာ၎င်းသည် Multibyte ဇာတ်ကောင်အစုံများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည့် (UTF-8, SJIs စသည်) ။ ၎င်းသည် ASCII မဟုတ်သောကြိုးများနှင့်ဆက်ဆံရာတွင်၎င်းသည် ဒေါသ ထက် ပို. စိတ်ချစေသည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်တရုတ်စာလုံးများကိုရှာဖွေနေသည်ဆိုပါစို့။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>
ဤဥပမာတွင် MB_Stristr သည် Multibytre ဇာတ်ကောင်ကိုမှန်ကန်စွာအသိအမှတ်ပြုပြီး substring မှစတင်သောနောက်ဆက်တွဲအပိုင်းကိုပြန်လည်ရရှိခဲ့သည်။
ဇာတ်ကောင် encoding : $ haystack နှင့် $ အပ် ၏ဇာတ်ကောင် encoding သည်အထူးသဖြင့် Multibyte ဇာတ်ကောင်အစုံနှင့်ဆက်ဆံရာတွင်တသမတ်တည်းဖြစ်ကြောင်းသေချာပါစေ။ အကယ်. encoding နှင့်မကိုက်ညီပါက၎င်းသည်မမှန်မကန်သို့မဟုတ်မမှန်ကန်သောရလဒ်များဖြစ်ပေါ်နိုင်သည်။
စွမ်းဆောင်ရည်စဉ်းစားမှုများ - သာမန် stistr လုပ်ဆောင်ချက်များနှင့်နှိုင်းယှဉ်လျှင် MB_Stristr ၏စွမ်းဆောင်ရည်သည်အထူးသဖြင့်စာသားအမြောက်အများကိုရှာဖွေသောအခါအနည်းငယ်နိမ့်ကျနိုင်သည်။ အမှန်တကယ်အခြေအနေများအပေါ် အခြေခံ. စဉ်းစားသင့်သည်။
မူရင်းအနေအထားသို့မပြန်ခြင်း - MB_STRPOS ကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်မတူဘဲ MB_Strpos ကဲ့သို့သောလုပ်ဆောင်ချက်များနှင့်မတူဘဲ MB_Strcrcr သည် လိုက်ဖက်သည့်နေရာမှစတင်နိုင်သည့်အလွှာတစ်ခုသို့ပြန်ပို့သည်။ အကယ်. သင်သည်တည်နေရာကိုရရန်လိုအပ်ပါက MB_STRPOS (သို့) MB_Strrpos (ပြောင်းပြန်ရှာဖွေရန်) ကိုသုံးနိုင်သည်။
MB_Stristr သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းအားဖြင့် UTF-8 သို့မဟုတ်အခြား encoded strings များကိုလုပ်ဆောင်ရန်လွယ်ကူပြီးပြောင်းလွယ်ပြင်လွယ် string ကိုလိုက်ဖက်သည်။