MB_ereGi_replace () PHP ရှိ Multibyte ကြိုးများနှင့်ဆက်ဆံရာတွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည် Eergi_replace () နှင့်ဆင်တူသော်လည်း UTF-8 encoded Chinese text ကဲ့သို့သော Multibyte strings များအတွက်အထူးအသုံးပြုသည်။ သို့သော်အမှန်တကယ်အသုံးပြုမှုတွင်ကျွန်ုပ်တို့သည်ဘုံပြ problem နာတစ်ခုနှင့်ကြုံတွေ့ရနိုင်သည် ။
ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် [URL] http://m66.net/page [/ URL] ကို HTML link တစ်ခုဖြင့်အစားထိုးလိုသည်ဆိုပါစို့။ ဤအချိန်တွင် ချုံ့ခြင်း () သည် အသုံးဝင်သည်။
အခြေခံအစားထိုးပုံဥပမာကိုအရင်ကြည့်ကြစို့။
<Code> $ text = "ဒီနေရာမှာ link တစ်ခုဖြစ်ပါတယ်။ [url] http://m66.net/page [/ url], $ pattern = ' (။ *?) ';
$ အစားထိုး = '<a href = "" \ 1 "> Link </a>;
$ ရလဒ် = mb_eregi_replace ($ ပုံစံ, $ အစားထိုး, $ စာသား);
ECHO $ ရလဒ်,
</ code>
output ရလဒ် -
ဒီမှာ link တစ်ခုပါ:<a href="http://m66.net/page">သံကွင်းဆက်</a> ,ကျေးဇူးပြု. နှိပ်ပါ。
မျက်နှာပြင်ကနေအဆင်ပြေနေပုံရတယ်, ဒါပေမယ့်အကြောင်းအရာမတိုင်ခင်နဲ့အပြီးနေရာတွေမှာ [URL] tag မှာနေရာတွေရှိရင်။ ဥပမာ -
[URL] http://m66.net/page [/URL]
အစားထိုးပြီးနောက် HTML link တွင် html link တွင် HTML link တွင်ပါ 0 င်မည်။
ဤပြ problem နာကိုဖြေရှင်းရန်ကျွန်ုပ်တို့သည် callback function တွင် trim () ကို အသုံးပြုရန်လိုအပ်သည်။ ကံမကောင်းစွာဖြင့် MB_ereGi_re_replace () သည် callback လုပ်ဆောင်ချက်များကိုတိုက်ရိုက်မထောက်ပံ့ပါ။ သို့သော်ကျွန်ုပ်တို့သည်တူညီသောရည်ရွယ်ချက်ကိုအောင်မြင်ရန် MB_ereG_replace_Callback () ကို သုံးနိုင်သည်။
ပြုပြင်ထားသောကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<Code> $ text = "ဒီနေရာမှာ link တစ်ခုဖြစ်ပါတယ်။ [url] http://m66.net/page [/ url],$ pattern = ' (။ *?) ';
$ ရလဒ် = mb_ereg_replace_callback (
$ ပုံစံ,
function ကို ($ ကိုက်ညီ) {
$ URL = တိ ($ ကိုက်ညီ [1]);
<a href = "'' '' ။ '' url '' '' '' ReXt '<တစ်ခု။ '"> လင့်ခ် </a> '';
},
$ စာသား
);
ECHO $ ရလဒ်,
</ code>
output ကိုဖြစ်လာလိမ့်မည်:
ဒီမှာ link တစ်ခုပါ:<a href="http://m66.net/page">သံကွင်းဆက်</a> ,ကျေးဇူးပြု. နှိပ်ပါ。
ဤတစ်ကြိမ်တွင် link တွင်နေရာမရှိတော့ပါ။ စွမ်းဆောင်ရည်သည်ပိုမိုတည်ငြိမ်ပြီးပရော်ဖက်ရှင်နယ်ဖြစ်လိမ့်မည်။
MB_ereGi_replace () သည်ကိစ္စနှင့်မကိုက်ညီသော Multi-byte အစားထိုးခြင်းများပြုလုပ်သောအခါ၎င်းသည် Preg_replace_callback () ကဲ့သို့စိတ်ကြိုက်ဟန်ချက်ကိုမပို့နိုင်ပါ။ အာကာသပြ problem နာကိုဖြေရှင်းရန်အကောင်းဆုံးအလေ့အကျင့်သည် MB_ereG_replace_Callback () ကို သုံးရန်ဖြစ်သည် ။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် output link များသို့မဟုတ်အခြားအစားထိုးအချက်အလက်များသည်ပိုမိုတိကျမှု,