လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> string တစ်ခုအတွက်ပထမ ဦး ဆုံးအလွှာကိုရှာဖွေရန် MB__Stristr ကိုသုံးပါ

string တစ်ခုအတွက်ပထမ ဦး ဆုံးအလွှာကိုရှာဖွေရန် MB__Stristr ကိုသုံးပါ

gitbox 2025-05-26

PHP တွင်ကြိုးများတူးဖော်သည့်အခါအခြား string တစ်ခုတွင်အလွှာတစ်ခုတည်ရှိခြင်းရှိမရှိရှာဖွေရန်မကြာခဏလိုအပ်သည်။ Multibyte ဇာတ်ကောင်များပါ 0 င်သည့်စာလုံးများ (တရုတ်, ဂျပန်, ကိုးရီးယားစသည်တို့) ပါ 0 င်သော strings များအတွက် (ဥပမာ strstren or struspos ကဲ့သို့) သာမန် string ကိုအသုံးပြုခြင်း (ဥပမာ strstren or struspos) ကိုအသုံးပြုခြင်းသည် code သို့မဟုတ်အသိအမှတ်ပြုမှုအမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤအချိန်တွင်သင်သည် byte safe function MB_Stristr ကိုသုံးနိုင်သည်။

1 ။ MB_Stristr ဆိုတာဘာလဲ။

MB_Strcrcr သည် PHP Multibyte String Extension (MBString) မှထောက်ပံ့သော function (MBString) သည်ပထမအကြိမ်ပြိုင်ပွဲတွင်ပထမဆုံးအကြိမ်ပေါ်လာသည့်အလွှာတစ်ခုကိုရှာဖွေရန်ဖြစ်သည်။ ၎င်းသည် အမျက်ဒေါသ နှင့်ဆင်တူသော်လည်း Multibyte Encoding နှင့် Multibyte Encoding နှင့် UTF-8 ကိုပုံမှန်အားဖြင့်အသုံးပြုသည်။

function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -

 mb_stristr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null): string|false
  • $ haystack : ရှာဖွေရန်မူရင်း string ကို;

  • $ အပ် - တွေ့ရှိရမည့်အလွှာ;

  • $ _needle (optional ကို): မှန် လျှင်, အပ်မတိုင်မီအပိုင်းကိုပြန်သွား;

  • $ encoding (optional ကို): ဇာတ်ကောင် encoding: default encoding internal encoding (များသောအားဖြင့် UTF-8);

  • ပြန်လာတန်ဖိုး - အကယ်.သာတွေ့ရှိပါကကျန်ရှိနေသေးသော string (သို့မဟုတ်ရှေ့ဆက်အပိုင်း) ကိုပြန်ပို့ပါ

2 ။ လက်တွေ့ကျသောဥပမာများ

ဥပမာ 1 - ပထမဆုံးအလွှာပေါ်ပေါက်လာပြီးနောက်အကြောင်းအရာကိုရှာဖွေပြီးပြန်ပို့ပါ

URL သည်သီးခြားသော့ချက်စာလုံးပါ 0 င်ပြီးထိုသော့ချက်စာလုံးနှင့်စသည့်အပိုင်းကိုရယူပါဆိုပါစို့။

 <?php
$url = "https://gitbox.net/docs/php/mbstring-guide";
$result = mb_stristr($url, "php");

if ($result !== false) {
    echo "အဆိုပါအလွှာတွေ့ရှိခဲ့ပါတယ်,ရလဒ်ကတော့:$result";
} else {
    echo "အဘယ်သူမျှမ substring တွေ့ရှိခဲ့ပါတယ်";
}
?>

ထုတ်လုပ်မှု -

 အဆိုပါအလွှာတွေ့ရှိခဲ့ပါတယ်,ရလဒ်ကတော့:php/mbstring-guide

ရှင်းလင်းချက် - MB_Stristr သည် ပထမ ဦး ဆုံးအကြိမ်ပေါ်လာပြီး string ကိုစတင်ခဲ့သည့် String ကိုပြန်ပို့လိုက်သည်။

ဥပမာ 2 - ဤ substring ပေါ်လာသည့်အတွက်အကြောင်းအရာကိုရယူပါ

တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်အဓိကလမ်းကြောင်းကိုရရှိခြင်းကဲ့သို့သောအလွှာမတိုင်မီအပိုင်းကိုပိုမိုဂရုစိုက်သည်။

 <?php
$url = "https://gitbox.net/docs/php/mbstring-guide";
$result = mb_stristr($url, "php", true);

if ($result !== false) {
    echo "သော့ချက်စာလုံးမတိုင်မီအပိုင်း:$result";
} else {
    echo "အဘယ်သူမျှမ substring တွေ့ရှိခဲ့ပါတယ်";
}
?>

ထုတ်လုပ်မှု -

 သော့ချက်စာလုံးမတိုင်မီအပိုင်း:https://gitbox.net/docs/

တတိယ parameter သည် မှန်သော အခါ MB_Stristr သည် ဆေးထိုးအပ်မတိုင်မီအကြောင်းအရာကိုပြန်ပို့သည်။

ဥပမာ 3 - Multibyte ဇာတ်ကောင်များ (တရုတ်)

တရုတ်ပါဝင်တဲ့ဝါကျကိုကိုင်တွယ်တယ်ဆိုပါစို့။

 <?php
$text = "ဝမ်းသာစွာနှုတ်ဆက်ခြင်းgitbox.net,ဒါကအရမ်းကောင်းတယ်PHPအရင်းအမြစ်စာကြည့်တိုက်。";
$result = mb_stristr($text, "php");

if ($result !== false) {
    echo "ရှာဖေှ:$result";
} else {
    echo "ကိုက်ညီမှုမရှိသောအကြောင်းအရာကိုရှာမတွေ့ပါ";
}
?>

ဤနေရာတွင် "PHP" ဤတွင်ဖြစ်ရပ်မှန်အာရုံမခံစားနိုင်သောရှာဖွေမှုဖြစ်သည်ကိုသတိပြုပါ။ ထို့ကြောင့် PHP ပင်သည်အောင်မြင်စွာကိုက်ညီနိုင်သည်။

3 ။ strpos အကြားခြားနားချက်ကဘာလဲ?

  • MB_Strcrcrcrcrcr သည်စာလုံးအသေးနှင့် MB_STRPOS သည်စာလုံးအကြီးအသေးအရေးမကြီးပါ။

  • MB_Strstrcr သည် ကိုက်ညီသောအလွှာနှင့်၎င်း၏နောက်ဆက်တွဲအစိတ်အပိုင်းများကိုပြန်လည်ရောက်ရှိသည်

  • အရေးအကြီးဆုံးအချက်က MB_Stristr သည် MB_Stristr သည် MB_Stristr သည် byte multi-byte အက္ခရာများကိုအထောက်အကူပြုသည်။

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

MB_Strcrcr သည်အထူးသဖြင့် UTF-8 encoding ပတ် 0 န်းကျင်ရှိအမျိုးမျိုးသော strings များရှိအလွှာများကိုရှာဖွေခြင်းလုပ်ငန်းများကိုကိုင်တွယ်ရန်အစွမ်းထက်ကိရိယာတစ်ခုဖြစ်သည်။ ၎င်း၏ syntax သည်ရိုးရှင်းပြီးအလုပ်လုပ်သည်။

PHP applications များကိုသင်တီထွင်သောအခါအထူးသဖြင့်တရုတ်အကြောင်းအရာကိုတရုတ်အကြောင်းအရာများနှင့်ဆက်ဆံရာတွင် MB_Stristr ကိုအသုံးပြုခြင်းကို အသုံးပြု. MB_Stristr အသုံးပြုခြင်းကို ဦး စားပေးသင့်သည်။