0 က်ဘ်အပလီကေးရှင်းများဖြည့်စွက်သောအခါအသုံးပြုသူ input ကိုပြုပြင်ခြင်းသည်အရေးကြီးသောလုပ်ငန်းတစ်ခုဖြစ်ပြီးအထူးသဖြင့်အထိခိုက်မခံသောစကားလုံးများကိုစီရန်ဖြစ်သည်။ PHP သည် MB_EREGI_replace သည် MB_eregi_replace သည်ဘာသာစကားမျိုးစုံသောဝန်းကျင်တွင်ချည်နှောင်ထားသော strings အစားထိုးရန်အတွက်သင့်တော်သောအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်အထိခိုက်မခံသောစကားလုံးများကိုစာသားတွင်အစားထိုးရန် MB_ereGi_replace ကို မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။
MB_ereGi_replace သည် PHP Multi-byte string extension mbstring မှပေးသော function တစ်ခုဖြစ်ပြီး၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
mb_eregi_replace(string $pattern, string $replacement, string $string, string $option = ""): string|false
$ ပုံစံ - အစားထိုးရန် string ကိုကိုက်ညီရန်ပုံမှန်စကားရပ် (ကိစ္စတွင်အာရုံမခံစားနိုင်သော) ။
$ အစားထိုး : အစားထိုးအတွက်အသုံးပြုသောအကြောင်းအရာ။
$ string : မူရင်း string ကို။
$ option : encoding နှင့်အခြား settings ကိုသတ်မှတ်ရန်အသုံးပြုသော optional parameter သည် optional parameter သည်။
ဤလုပ်ဆောင်ချက်သည် UTF-8 ကဲ့သို့သော Multi-byte ဇာတ်ကောင်အစုံများကိုလုပ်ဆောင်ရန်အတွက်သင့်လျော်ပြီးတရုတ်အထိခိုက်မခံသောစကားလုံးစီစစ်ခြင်းကိုကိုင်တွယ်ရန်အကောင်းဆုံးဖြစ်သည်။
ဤတွင် MB_EREGI_replace နှင့် string တစ်ခုတွင်အထိခိုက်မခံသောစကားလုံးများကိုမည်သို့အစားထိုးရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// အထိခိုက်မခံစကားလုံးများ၏စာရင်း
$sensitive_words = ['လောင်းတမ်းကစား', 'ဝတ်လစ်စလစ်ရုပ်ရေးခြွယ်ခြင်း', 'ပြင်းထန်ခြင်း'];
// လုပ်ငန်းများ၌ရေးထားရန်စာသား
$input_text = "ဤဝက်ဘ်ဆိုက်ပါရှိသည်လောင်းတမ်းကစားနှင့်ဝတ်လစ်စလစ်ရုပ်ရေးခြွယ်ခြင်းကေြနပ်သော,ဝင်ရောက်ခွင့် https://m66.net/play ပိုပြီးသတင်းအချက်အလက်ရှိလိမ့်မည်。";
// အက္ခရာများကိုအစားထိုးပါ
$replacement = '***';
// အထိခိုက်မခံသောစကားလုံးများကိုကွင်းဆက်တစ်ခုတွင်အစားထိုးပါ
foreach ($sensitive_words as $word) {
$input_text = mb_eregi_replace($word, $replacement, $input_text);
}
echo $input_text;
?>
ရလဒ်ရလဒ် -
ဤဝက်ဘ်ဆိုက်ပါရှိသည်***နှင့်***ကေြနပ်သော,ဝင်ရောက်ခွင့် https://m66.net/play ပိုပြီးသတင်းအချက်အလက်ရှိလိမ့်မည်。
အထက်တွင်ဖော်ပြထားသည့်အတိုင်း MB_eregi_repliblate သည် Multibyte အထိခိုက်မခံသောစကားလုံးများကိုတိကျစွာအစားထိုး။ URL နှင့်အခြားအကြောင်းအရာများကိုမပြောင်းလဲပါ။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်အထိခိုက်မခံသောစကားလုံးများသည်နေရာများသို့မဟုတ်အထူးသင်္ကေတများထည့်ခြင်းကဲ့သို့သောပုံပျက်သောစကားများရှိနိုင်သည်။ ကျွန်ုပ်တို့သည်ပိုမိုရှုပ်ထွေးသောပုံမှန်အသုံးအနှုန်းများကို အသုံးပြု. အသိအမှတ်ပြုရန်အတွက်ပိုမိုရှုပ်ထွေးသောဖော်ပြချက်များကိုအသုံးပြုနိုင်သည်။
<?php
$sensitive_words = ['လောင်းကစားခြင်း\s*ဘလော့', 'အရောင်\s*ချစ်ခင်ခြင်း', 'ကြမ်းကြုတ်သော\s*ခွန်အား'];
$input_text = "ဒါကကိစ္စတစ်ခုပါလောင်းကစားခြင်း ဘလော့ကေြနပ်သော,လည်းပါဝင်သည်ကြမ်းကြုတ်သော ခွန်အားနှင့်seချစ်ခင်ခြင်း,请勿ဝင်ရောက်ခွင့် http://m66.net/bad.html。";
foreach ($sensitive_words as $word) {
$pattern = $word;
$input_text = mb_eregi_replace($pattern, '***', $input_text);
}
echo $input_text;
?>
ထုတ်လုပ်မှု -
ဒါကကိစ္စတစ်ခုပါ***ကေြနပ်သော,လည်းပါဝင်သည်***နှင့်***,请勿ဝင်ရောက်ခွင့် http://m66.net/bad.html。
ပုံပျက်သောအထိခိုက်မခံသောစကားလုံးများကိုမှန်ကန်စွာအစားထိုးနိုင်ရန်နေရာများနှင့်ကိုက်ညီရန် \ s ကို * ကိုသုံးပါ။
PHP 8.0 အပြီးတွင် MB_ereGi_replace ကို ဖယ်ရှားခဲ့သည်။ MB_ConVert_encoding နှင့်အတူ Preg_ConVert_encoding နှင့်အတူ Preg_ereplace ကို အသုံးပြုရန်အကြံပြုသည်။
အသုံးမပြုမီ mbstring extension ကိုဖွင့်ထားကြောင်းသေချာပါစေ။
ကိုက်ညီသောပုံစံရှိအထူးအက္ခရာများကိုလွတ်မြောက်သင့်သည်။
MB_ereGi_replace ဖြင့်ကျွန်ုပ်တို့သည်ဘာသာစကားမျိုးစုံသောပတ်ဝန်းကျင်တွင်အထိခိုက်မခံသောစကားလုံးများကိုတိကျမှန်ကန်စွာအစားထိုးနိုင်သည်။ သို့သော်၎င်းသည်၎င်း၏လိုက်လျောညီထွေကိစ္စများကိုသတိပြုမိရန်လိုအပ်သည်။ စီမံကိန်းအသစ်များသည် preg_replace နှင့် Unicode ကိုထောက်ပံ့သောပုံမှန်စကားရပ်စာကြည့်တိုက်ကဲ့သို့သောခေတ်မီအခြားရွေးချယ်စရာများကိုအသုံးပြုရန်စဉ်းစားရန်အကြံပြုသည်။ ဖြစ်စေလုံခြုံစိတ်ချရသောနှင့်ကျန်းမာသောအကြောင်းအရာပတ်ဝန်းကျင်ကိုတည်ဆောက်ခြင်းသည် developer တိုင်း၏အရေးကြီးသောတာ 0 န်တစ်ခုဖြစ်သည်။