PHP တွင် string အစားထိုးလုပ်ငန်းများကို PHP တွင်ပြုလုပ်သောအခါအထူးသဖြင့် Multi-byte ဇာတ်ကောင် encoding (UTF-8 ကဲ့သို့) MB_eregi_replace လုပ်ခြင်းသည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံမှန်စကားရပ်ကိုက်ညီမှုကိုအထောက်အကူပြုရုံသာမကစာလုံးအကြီးနှင့်အသေးများကိုလျစ်လျူရှုထားသည့်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုလည်းရှိပြီး Multi-byte encoding နှင့်သဟဇာတဖြစ်သည်။
ဤဆောင်းပါးသည်အီးမေးလ်လိပ်စာရှိဒိုမိန်းအမည်အပိုင်းကိုအစားထိုးရန် MB_ereGi_replace function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင်အီးမေးလ်လိပ်စာများရှိသည်ဆိုပါစို့။ ဤလိပ်စာများရှိဒိုမိန်းအမည်အားလုံးကို M66.net နှင့်အစားထိုးလိုသည်။
MB_eregi_replace ၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
mb_eregi_replace($pattern, $replacement, $string, $option = 'msr');
$ ပုံစံ သည်ကိုက်ညီရန်ပုံမှန်စကားရပ်ဖြစ်သည် (ကိစ္စတွင်မခံစားနိုင်သော) ။
$ အစားထိုး အကြောင်းအရာအစားထိုးအကြောင်းအရာဖြစ်ပါတယ်။
$ string ကို လုပ်ဆောင်ရန် string ကိုဖြစ်ပါတယ်။
$ option သည်ပုံမှန်အသုံးအနှုန်းများအတွက်ကိုက်ညီသော option တစ်ခုဖြစ်သည်။
အီးမေးလ်လိပ်စာ၏ယေဘူယျပုံစံသည် username @ domain name ,
အသုံးပြုသူအမည်အပိုင်းသည်မည်သည့်ဇာတ်ကောင်ကိုမဆို ( @ ဖယ်ထုတ်ခြင်း) ဖြစ်နိုင်သည်။
ဒိုမိန်းအမည်အပိုင်းသည်ယေဘုယျအားဖြင့် xxx.xxxx ၏ပုံစံဖြစ်သည်
ရည်မှန်းချက်မှာ domain name ကို @ m66.net သို့အစားထိုးရန်ဖြစ်သည်။
<?php
// စမ်းသပ်စစ်ဆေးပြီး email စကားပေြာဟော
$email = "user123@example.com";
// အသုံးပြု mb_eregi_replace ဒိုမိန်းအမည်အပိုင်းကိုအစားထိုးပါ
// ရှင်းလင်းဖေါ်ပြ:
// 1. ပုံမှန်စကားရပ်၌တည်၏,@ အဆုံးအထိနေရာများမှလွဲ။ အားလုံးဇာတ်ကောင်နှင့်ကိုက်ညီပြီးနောက်
// 2. အစားထိုးလိုက်ပါ @m66.net
$pattern = '@[^\\s]+$';
$replacement = '@m66.net';
$new_email = mb_eregi_replace($pattern, $replacement, $email);
echo $new_email; // ထုတ်လုပ်ခြင်း:user123@m66.net
?>
@ [^ \\ S] + $
@ အီးမေးလ်တွင်လိုက်ဖက်သည့် @ ဇာတ်ကောင်ဖြစ်သည်။
[^ \\ s ကို] + သည် whitespace မဟုတ်သောဇာတ်ကောင်များနှင့်ကိုက်ညီသောဇာတ်ကောင်များကိုဆိုလိုသည်။
$ string ကို၏အဆုံးကိုဆိုလိုသည်။
@ m66.net ဖြင့်၎င်းကိုအစားထိုးပါ။ ဒိုမိန်းအမည်အပိုင်းကိုသတ်မှတ်ထားသော M66.net ဖြင့်အစားထိုးပါ။
အသုတ်တွင်အစားထိုးရန်လိုအပ်သောအီးမေးလ်များစွာရှိပါက -
<?php
$emails = [
"alice@gmail.com",
"bob@company.org",
"carol123@sub.domain.net"
];
$pattern = '@[^\\s]+$';
$replacement = '@m66.net';
foreach ($emails as $email) {
$new_email = mb_eregi_replace($pattern, $replacement, $email);
echo $new_email . "\n";
}
/*
ထုတ်လုပ်ခြင်း:
alice@m66.net
bob@m66.net
carol123@m66.net
*/
?>