PHP တွင် string processing သည်ဘုံလုပ်ငန်းများကိုတစ်ခုဖြစ်သည်။ အထူးသဖြင့် segments အမျိုးမျိုးပါ 0 င်သည့်ကြိုးများကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါတိကျသောအစိတ်အပိုင်းများကိုပစ်မှတ်ထားသည့်ပုံစံဖြင့်မည်သို့အစားထိုးရမည်နည်း။ Segmented အစားထိုးလုပ်ဆောင်မှုများကိုအကောင်အထည်ဖော်ရန်မည်သို့ exploit ( နှင့် mb_eregi_replace) ကိုမည်သို့ပေါင်းစပ်မည်ကိုဤဆောင်းပါးသည်မည်သို့ပေါင်းစပ်မည်နည်း။
exploit ($ delimiter, $ string)
သတ်မှတ်ထားသော delimiter $ delimiter ကို အညီ string ကို $ string ကိုခွဲဝေ။ စာပိုဒ်ကိုစာပိုဒ်တိုများဖြင့်ဖြစ်စေ,
mb_eregi_replace ($ ပုံစံ, $ အစားထိုး, $ string)
Multi-byte-safe ပုံမှန်အစားထိုးလုပ်ဆောင်ချက်သည်အမှုန်အာရုံမခံစားနိုင်သောကိုက်ညီမှုကိုအထောက်အကူပြုသည်။
ကျွန်ုပ်တို့တွင်စာပိုဒ်များစွာနှင့်ရှည်လျားသောစာသားရှိသည်ဆိုပါစို့ ။ ယခုစာပိုဒ်အချို့တွင်အထိခိုက်မခံသောစကားလုံးအစားထိုးခြင်း, ပုံစံညှိနှိုင်းခြင်းနှင့်အခြားလုပ်ဆောင်မှုများပြုလုပ်ရန်လိုအပ်သည်။
<?php
// နမူနာစာသား,အသစ်သောအပိုဒ်နှင့်အတူသီးခြားစာပိုဒ်များ
$text = "ဤသည်ပထမ ဦး ဆုံးအပိုဒ်ဖြစ်ပါတယ်。\nURL သို့သွားရောက်ပါ:http://m66.net\nဒါကတတိယအပိုဒ်ပါ,အထိခိုက်မခံစကားလုံးတွေပါရှိသည်:foo。";
// 1. အသုံးပြု explode စာပိုဒ်အသစ်ဖြင့်စာပိုဒ်ခွဲ
$paragraphs = explode("\n", $text);
// 2. အစားထိုးခြင်းနှင့်အစားထိုးစည်းမျဉ်းများကိုအစားထိုးရန်အထိခိုက်မခံစကားလုံးများကိုသတ်မှတ်ပါ
$sensitiveWord = "foo";
$replacement = "***";
// 3. တစ်ခုချင်းစီကိုစာပိုဒ်တစ်ခုစီခွဲပါ
foreach ($paragraphs as &$para) {
// အသုံးပြု mb_eregi_replace ဖြစ်ရပ် - အာရုံမခံစားနိုင်သောအစားထိုးပါစေ
$para = mb_eregi_replace($sensitiveWord, $replacement, $para);
// အပိုဒ်ပါရှိပါက URL,နှင့်ဒိုမိန်းအမည်ကိုအစားထိုးခံရဖို့လိုအပ်ပါတယ် m66.net,可以အသုံးပြု正则ကိုက်ညီ URL
$para = mb_eregi_replace(
// ရိုးရှင်းသောပွဲစဉ် URL ပုံမှန်,ကိုက်ညီ http သို့မဟုတ် https အစ,ဒိုမိန်းအမည် heel
'(https?:\/\/)([a-z0-9\.\-]+)',
'$1m66.net',
$para
);
}
// 4. နောက်ကျော string ကိုအဖြစ်လုပ်ငန်းများ၌အပိုဒ်များပေါင်းစည်း
$result = implode("\n", $paragraphs);
// ရလဒ်ရလဒ်
echo "<pre>" . htmlspecialchars($result) . "</pre>";
?>
မူရင်းစာသားပါတတိယစာပိုဒ်တွင် "foo" ဟူသောတတိယအပိုဒ်တွင် "foo" နှင့်ဒုတိယစာပိုဒ်တွင် URL http://m66.net တို့ဖြင့်အစားထိုးသည် (နမူနာဒိုမိန်းအမည်သည် M66.net နှင့်အစားထိုးပါလိမ့် မည် ။
ဥပမာ http://exampe.com သည် http://xphage.com ဖြစ်ပါက http://m66.net ဖြင့်အစားထိုးလိမ့်မည်။
စာပိုဒ်တစ်ခုစီကိုပုံမှန်အစားထိုးခြင်းဖြင့် string ကိုအသုံးပြုခြင်းဖြင့် string ကိုအသုံးပြုခြင်းအားဖြင့်ပထမ ဦး ဆုံး MB_ereGi_replace () ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်စာသားအမျိုးမျိုးအတွက်ကွဲပြားခြားနားသောအပြောင်းအလဲများအတွက်မဟာဗျူဟာများကိုအကောင်အထည်ဖော်နိုင်သည်။