အမျိုးမျိုးသောထောက်ခံမှုရှိသောဝက်ဘ်ဆိုက်များကိုတည်ဆောက်သည့်အခါဒေသများအတိုင်းစာမျက်နှာရှိသတ်သတ်မှတ်မှတ်စကားစုများသို့မဟုတ် tags များကိုအစားထိုးရန်လိုအပ်သည်။ MB_erebergi_replace () function သည် PHP တွင်အဆင်ပြေချောမွေ့စေရန်အတွက်ပုံမှန်အစားထိုးလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။
ဤဆောင်းပါးသည် MB_ereGi_replace () function ကိုမည်သို့အသုံးပြုရမည်ကိုနိုင်ငံတကာမှတိကျသောဘာသာစကားဖြင့်တူညီသောစာနယ်ဇင်းများနှင့်တူညီစွာအစားထိုးရန်နှင့်၎င်း၏အသုံးပြုမှုကိုသရုပ်ပြပါလိမ့်မည်။
MB_ereGi_replace () သည် PHP Multibyte string transpere extension (MBString) တွင်အလုပ်လုပ်ရန် (MBString) တွင်အလုပ်လုပ်ရန်ဖြစ်သည်။ ၎င်းသည်စံ eregi_replace () နှင့်ဆင်တူသော်လည်း UTF-8 encoding နှင့်အပြည်ပြည်ဆိုင်ရာအခြေအနေများအတွက်သင့်တော်သည်။
Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
string mb_eregi_replace(string $pattern, string $replacement, string $string [, string $option])
$ ပုံစံ - ကိုက်ညီရန်ပုံမှန်စကားရပ်။
$ အစားထိုး : အစားထိုးဘို့အသုံးပြု string ကို။
$ string : အစားထိုးဖျော်ဖြေဖို့အရင်းအမြစ် string ကို။
$ option : (optional) encoding (ဥပမာ UTF-8 "ကဲ့သို့) encoding ကိုသတ်မှတ်ပါ။
ကျွန်ုပ်တို့တွင် placevate string တွင် placeholders သို့မဟုတ်စာပိုဒ်တိုများပါ 0 င် သည့် template string တစ်ခုရှိသည် ။
အောက်ပါအတိုင်းရိုးရှင်းသော template string ကိုသတ်မှတ်ပါ -
$template = "အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်[SITE_NAME],ကျေးဇူးပြု. နှိပ်ပါ[LINK]ပိုမိုသိရှိလိုပါကရယူပါ。";
ယခုအခါကျွန်ုပ်တို့သည် [site_name] နှင့် [လင့်ခ်] နှင့် [လင့်ခ်] ကိုအစားထိုးလိုသည်။
$phrases = [
'zh' => [
'SITE_NAME' => 'M66ဝဘ်0င်းက္ပုဒ်စာတမ်း',
'LINK' => '<a href="https://m66.net/zh/about">ဒီမှာ</a>'
],
'en' => [
'SITE_NAME' => 'M66 Site',
'LINK' => '<a href="https://m66.net/en/about">here</a>'
]
];
function localize_template($template, $language, $phrases) {
foreach ($phrases[$language] as $key => $value) {
// အသုံးပြု mb_eregi_replace အစားထိုးပါစေ
$template = mb_eregi_replace('\[' . $key . '\]', $value, $template, 'UTF-8');
}
return $template;
}
$language = 'zh';
echo localize_template($template, $language, $phrases);
ထုတ်လုပ်မှု -
အလည်အပတ်ခရီးမှလှိုက်လှဲစွာကြိုဆိုပါသည်M66ဝဘ်0င်းက္ပုဒ်စာတမ်း,ကျေးဇူးပြု. နှိပ်ပါ<a href="https://m66.net/zh/about">ဒီမှာ</a>ပိုမိုသိရှိလိုပါကရယူပါ。
စွမ်းဆောင်ရည် - MB_ereGi_reto_replace () ၎င်းသည်ဘက်ပေါင်းစုံဇာတ်ကောင်များနှင့်အသေးအဖွဲနှင့်ကိုက်ညီသောကိုက်ညီမှုကိုကိုင်တွယ်သောကြောင့်၎င်း၏စွမ်းဆောင်ရည်သည်သာမန် stand_replace () သည် စာသားအမြောက်အများကိုလုပ်ဆောင်သောအခါမကောင်းသည်။ လိုအပ်သလိုရွေးချယ်ပါ။
Escape ဇာတ်ကောင်များ - စတုရန်းကွင်းထဲ၌ [] ကွင်းခတ်ထားသောစတုရန်းကွင်းများကိုအစားထိုးပါ။ ပုံမှန်ဖော်ပြချက်များ၏အထူးအက္ခရာများကိုအစားထိုးရန်,
encoding ရှေ့နောက်ညီညွတ်မှု - UTF-8 ကို အသုံးပြု. ကြိုးများအားလုံးကို encoded encoded လုပ်ခြင်းနှင့်ရောနှောထားသော encoding သည်အစားထိုးကျရှုံးခြင်းကိုဖြစ်စေနိုင်သည်။
ပိုမိုရှုပ်ထွေးသောအပြည်ပြည်ဆိုင်ရာစီမံကိန်းတွင်ကျွန်ုပ်တို့သည်အထက်ဖော်ပြပါနည်းလမ်းကိုစကင်ဖတ်စစ်ဆေးမှုဖိုင်များနှင့်အစုအဝေးကိုဖြည့်ဆည်းပေးရန်နှင့်ပြောင်းလဲနေသောအစားထိုးနေရာတွင်အသုံးပြုသောဘာသာစကားထုတ်ယူခြင်း module တစ်ခုအဖြစ် oncapsulate လုပ်နိုင်သည်။ ၎င်းသည်အပြောင်းအလဲများ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန် cache ယန္တရားနှင့်ပင်ပေါင်းစပ်နိုင်သည်။
ဥပမာအားဖြင့်သက်ဆိုင်ရာဘာသာစကားအထုပ်ကိုဘာသာစကားလမ်းညွှန်ဖွဲ့စည်းပုံအရတင်နိုင်သည်။
$language_file = __DIR__ . "/lang/{$language}.php";
if (file_exists($language_file)) {
$phrases = include $language_file;
}
MB_ereGi_replace () သည်အပြည်ပြည်ဆိုင်ရာစီမံကိန်းများအတွက်အလွန်လက်တွေ့ကျသောစာသားအစားထိုးကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းကိုပြောင်းလွယ်ပြင်လွယ်သုံးခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် template layer တွင်ဘာသာစကားစာပိုဒ်တိုများဖြင့်အစားထိုးနိုင်ပြီးဘာသာစကားမျိုးစုံအထောက်အကူပြုစနစ်တည်ဆောက်နိုင်သည်။ စည်းလုံးညီညွတ်မှုရှိသောစကားစုစာကြည့်တိုက်နှင့် Template အင်ဂျင်ဖြင့်အပြည်ပြည်ဆိုင်ရာဗိသုကာတစ်ခုလုံးသည်ထိရောက်လာပြီးထိန်းသိမ်းရန်လွယ်ကူလိမ့်မည်။