လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Strips သည်သော့ချက်စာလုံးများစွာကိုကိုက်ညီနိုင်ပါသလား။ PHP တွင်သော့ချက်စာလုံးများစွာကို fuzzy ရှာဖွေမှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။

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

M66 2025-07-28

PHP တွင် strips () function သည် string တစ်ခုသည်အခြား string တစ်ခုတွင်မည်သည့်နေရာတွင်ပေါ်လာပြီးဖြစ်ရပ်မှန်အာရုံမခံစားနိုင်သည့်နေရာကိုရှာရန်အသုံးပြုသည်။ အကယ်. သင်သည် PHP တွင်သော့ချက်စာလုံးများစွာကိုရှာဖွေလိုပါကသော့ချက်စာလုံးများစွာနှင့်ကိုက်ညီမှုနှင့်ကိုက်ညီမှုနှင့်မည်သို့ကိုင်တွယ်ရမည်နည်း။ ဒီပြ problem နာက strips -s () သည်သော့ချက်စာလုံးများစွာကိုကိုက်ညီခြင်းမရှိသောကြောင့်၎င်းသည်အနည်းငယ်ရှုပ်ထွေးသည်။

1 ။ STARPOS () ကိုသုံးပါ

ပထမ ဦး စွာ stripsipos ၏အခြေခံအသုံးပြုမှုကိုနားလည်ကြပါစို့။

 <?php
$haystack = "Welcome to m66.net, the best place to learn PHP!";
$needle = "m66.net";

$position = stripos($haystack, $needle);

if ($position !== false) {
    echo "Found '$needle' at position $position";
} else {
    echo "'$needle' not found";
}
?>

အထက်ဖော်ပြပါကုဒ်များတွင် strival $ haystack တွင် $ အပ်ကို ရှာဖွေရန်အတွက် stripos () ကို သုံးပါ။ အကယ်. ပွဲကိုအောင်မြင်စွာအောင်မြင်ပါက string အတွက်သော့ချက်စာလုံး၏ storge ကိုပြန်ပို့သည်။ အကယ်. ပွဲစဉ်မရောက်ပါက၎င်းသည် မှားယွင်းသော ပြန်လာသည်။

2 ။ "သော့ချက်စာလုံးများစွာကိုရှာဖွေခြင်း fuzzy search ကိုအကောင်အထည်ဖော်ရန် stripsipos () ကိုအသုံးပြုနည်း?

သော့ချက်စာလုံးများစွာကိုရှာဖွေရန်အတွက်အလွယ်ကူဆုံးနည်းလမ်းမှာအလွယ်ကူဆုံးနည်းလမ်းမှာ stripsipos () ကို သော့ချက်စာလုံးတစ်ခုစီကိုကွင်းဆက်သို့ဆွဲယူရန်ဖြစ်သည်။ သော့ချက်စာလုံးများကိုတွေ့ရှိပါကကိုက်ညီသောရလဒ်ကိုပြန်ပို့နိုင်သည်။ ငါတို့လုပ်နိုင်တယ် -

 <?php
$haystack = "Welcome to m66.net, the best place to learn PHP!";
$needles = ["m66.net", "PHP", "programming"];

foreach ($needles as $needle) {
    $position = stripos($haystack, $needle);
    
    if ($position !== false) {
        echo "Found '$needle' at position $position\n";
    } else {
        echo "'$needle' not found\n";
    }
}
?>

အထက်ဖော်ပြပါကုဒ်သည်သော့ချက်စာလုံးတိုင်းကို $ အပ်များရှိသော့ခလောက် တစ်ခုစီကိုအလှည့်ကျပြီး stripsipos မှတစ်ဆင့်ပွဲတစ်ပွဲရှိမရှိရှာဖွေပါလိမ့်မည်။ သော့ချက်စာလုံးကိုရှာတွေ့ပါကသတင်းအချက်အလက်နှင့်ကိုက်ညီမှုမရှိပါ။

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

ပထမ ဦး ဆုံးပွဲစဉ်ကိုသာရှာဖွေမည့်အစားသော့ချက်စာလုံးများအားလုံး၏တည်နေရာများကိုသင်ပြန်ပို့လိုပါကပွဲအားလုံး၏တည်နေရာများကိုခင်းကျင်းခြင်းဖြင့်သိမ်းဆည်းထားနိုင်သည်။

 <?php
$haystack = "Welcome to m66.net, the best place to learn PHP! Check out m66.net for more.";
$needles = ["m66.net", "PHP"];
$matches = [];

foreach ($needles as $needle) {
    $position = stripos($haystack, $needle);
    
    while ($position !== false) {
        $matches[] = ["keyword" => $needle, "position" => $position];
        $position = stripos($haystack, $needle, $position + 1);
    }
}

if (!empty($matches)) {
    foreach ($matches as $match) {
        echo "Found '{$match['keyword']}' at position {$match['position']}\n";
    }
} else {
    echo "No matches found";
}
?>

အထက်ဖော်ပြပါကုဒ်များတွင်ကွင်းဆက် နေစဉ် $ haystack တွင်ရှိသောသော့ချက်စာလုံးအားလုံးကိုရှာဖွေသည်။ ပွဲစဉ်တစ်ခုစီကိုတွေ့ရတိုင်းရှာဖွေရေးအနေအထားကို update လုပ်ပြီးနောက်ပွဲကိုဆက်လက်ရှာဖွေပါ။ နောက်ဆုံးအနေဖြင့်ကိုက်ညီသောသတင်းအချက်အလက်အားလုံးကို ဒေါ်လာနှင့်ကိုက်ညီသော array တွင်သိမ်းဆည်းထားပြီးကိုက်ညီသောရလဒ်များအားလုံးသည် OFF output ကိုတစ်ခုဖြစ်သည်။

4 ။ အဆင့်မြင့်ဖြေရှင်းချက် - ပုံမှန်အသုံးအနှုန်းများကိုသုံးပါ ( Preg_match () )

Strips () သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုဖြစ်သော်လည်းပုံမှန်အသုံးအနှုန်းများကိုမထောက်ခံပါ။ အကယ်. သင်သည်ပိုမိုရှုပ်ထွေးသောပွဲများလိုအပ်ပါကအထူးဇာတ်ကောင်အချို့ကိုလျစ်လျူရှုခြင်းသို့မဟုတ်ပုံစံကိုက်ညီခြင်းသို့မဟုတ်ပုံစံကိုက်ညီခြင်း, Preg_match () သည်ပိုမိုသင့်လျော်သောရွေးချယ်မှုဖြစ်သည်။ ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုပြီးသော့ချက်စာလုံးများစွာကိုကိုက်ညီခြင်း၏ဥပမာတစ်ခုမှာ -

 <?php
$haystack = "Welcome to m66.net, the best place to learn PHP!";
$needles = ["m66.net", "PHP"];

$pattern = '/(' . implode('|', $needles) . ')/i';
preg_match_all($pattern, $haystack, $matches, PREG_OFFSET_CAPTURE);

if (!empty($matches[0])) {
    foreach ($matches[0] as $match) {
        echo "Found '{$match[0]}' at position {$match[1]}\n";
    }
} else {
    echo "No matches found";
}
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်သော့ချက်စာလုံးများစွာနှင့်ကိုက်ညီရန်ပုံမှန်စကားရပ်၏ preg_match_all () function ကိုအသုံးပြုသည်။ impline ('|' ',', $ အပ်များ) သည် သော့ချက်စာလုံးများအားလုံးကိုပုံမှန်စကားရပ်တစ်ခုအဖြစ် 0 င်ခွင့်ပြုလိမ့်မည် ဆိုလိုသည်မှာ "(သို့)" "ဆိုသည့်သော့ချက်စာလုံးများကိုတစ်ချိန်တည်းတွင်ပွဲစဉ်တွင်တွေ့နိုင်သည်။ Preg_offset_Capture option သည်ကိုက်ညီသောသီးခြားတည်နေရာကိုပြန်လည်ရောက်ရှိစေသည်။

အကျဉ်းချုပ်

Strips () သည်အလွန်ရိုးရှင်းပြီးထိရောက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်၎င်းသည်သော့ချက်စာလုံးတစ်လုံးတည်းကိုသာရှာဖွေရန်အသုံးပြုနိုင်သည်။ အကယ်. သင်သည်သော့ချက်စာလုံးများစွာကိုရှာဖွေရန်လိုအပ်ပါကကွင်းဆက်များသို့မဟုတ်ပုံမှန်အသုံးအနှုန်းများဖြင့်ရရှိနိုင်သည်။ သင်၏လိုအပ်ချက်များသည်ပိုမိုရှုပ်ထွေးပြီးပြောင်းလွယ်ပြင်လွယ်ပုံစံနှင့်ကိုက်ညီမှုရှိလျှင်ပုံမှန်အသုံးအနှုန်းများသည်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။

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

မကြာသေးမီ ဆောင်းပါးများ