PHP ရှိ Multibyte ကြိုးများကိုထုတ်ယူသောအခါ, ကိစ္စ - အာရုံမခံစားနိုင်သောအစားထိုးလုပ်ငန်းများကိုမကြာခဏလိုအပ်သည်။ MB_eregi_replace သည်အထူးသဖြင့်တရုတ်ကဲ့သို့သောဘက်စုံစာလုံးများအတွက်အထူးသဖြင့်သင့်တော်သောဖြစ်ရပ်မှန်အာရုံမခံစားနိုင်သည့်ပုံမှန်စကားရပ်အစားထိုးခြင်းကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည့်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ စာသားစာလုံးများမှသော့ချက်စာလုံးများကိုမီးမောင်းထိုးပြခြင်းများကိုမီးမောင်းထိုးပြရန် MB_ERERAGI_replace function နှင့် html <mark> tag ကိုမည်သို့ပေါင်းစပ်ရမည်ကိုဤဆောင်းပါးသည်မိတ်ဆက်ပေးလိမ့်မည်။
MB_ereGi_replace သည် PHP ၏ Multibyte String function များထဲမှတစ်ခုဖြစ်သည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
mb_eregi_replace(string $pattern, string $replacement, string $string, ?string $option = null): string
$ ပုံစံ - ကိုက်ညီရန်ပုံမှန်စကားရပ် (ကိစ္စတွင်မခံစားနိုင်သည့်)
$ အစားထိုး : string ကိုအစားထိုး
$ string : ရှာဖွေနေတဲ့ string ကို
$ option : ကိုက်ညီသောအပြုအမူကိုထိန်းချုပ်ရန် optional parameter သည် optional parameter သည်
၎င်းသည် Multi-byte အက္ခရာများကိုထောက်ပံ့ပေးပြီးတရုတ်, ဂျပန်, ကိုးရီးယားနှင့်အခြားဘာသာစကားများဖြင့်စာသားပြုပြင်ခြင်းအတွက်သင့်တော်သည်။
HTML5 <mark> tag ကိုမီးမောင်းထိုးပြရန်လိုအပ်သည့်စာသားများကိုအထူးအသုံးပြုသည်။ Browser -er သည်ထင်ရှားသောအကြောင်းအရာများကိုပုံမှန်အားဖြင့်ဖော်ပြရန်အဝါရောင်နောက်ခံကိုအသုံးပြုသည်။
ဥပမာအားဖြင့်:
ဒါ <mark>ပေါ်လွင်</mark> စကားများ。
"Highlight" ဟူသောစကားလုံးကိုနောက်ခံနှင့်နောက်ခံဖြင့်စာမျက်နှာပေါ်တွင်ပြသလိမ့်မည်။
အောက်ဖော်ပြပါအချက်သည် MB_eregi_replace ကို အသုံးပြု. MB_eregi_replace ကို အသုံးပြု. သတ်မှတ်ထားသောသော့ချက်စာလုံးများကို <memlight effect ကိုရရှိရန် <mark> tag ကိုခြုံရန် <mark> tag ဖြင့်ထုပ်ပိုးရမည်ကိုပြသသည်။
<?php
// နမူနာစာသား
$text = "PHP ၎င်းသည်အလွန်လူကြိုက်များသော server-side scripting language ဖြစ်သည်。PHP Programming Paradigms မျိုးစုံကိုထောက်ပံ့သည်。";
// 需要ပေါ်လွင်的关键词(မျိုးစုံဖြစ်နိုင်ပါတယ်,အသုံးပြု|ခဲှခြားခြင်း)
$keywords = "php|ဆာဗာဘက်";
// ပုံမှန်အသုံးအနှုန်းများတည်ဆောက်ခြင်း,使အသုံးပြု括号捕获关键词本身,အမှုကိုလျစ်လျူရှုပါ
$pattern = "(" . $keywords . ")";
// 使အသုံးပြု mb_eregi_replace ဖြစ်ရပ် - အာရုံမခံစားနိုင်သောအစားထိုးပါစေ,သော့ချက်စာလုံးများထည့်ပါ <mark> ကပ်တံဆိပ်
$highlightedText = mb_eregi_replace(
$pattern,
"<mark>\\1</mark>",
$text
);
// 输出ပေါ်လွင်后的文本
echo $highlightedText;
?>
Run ရလဒ်ဥပမာ -
<mark>PHP</mark> အရမ်းလူကြိုက်များတယ်<mark>ဆာဗာဘက်</mark>ဘာသာစကား scripting。<mark>PHP</mark> Programming Paradigms မျိုးစုံကိုထောက်ပံ့သည်。
ဤနည်းအားဖြင့်စာမျက်နှာပေါ်ရှိသော့ချက်စာလုံးအပိုင်းကို <Mark> tag ဖြင့်ထုပ်ပိုးပြီးမီးမောင်းထိုးပြခြင်းအောင်မြင်ရန်ဖြစ်သည်။
MB_ereGi_replace နှင့်ကိုက်ညီသည်မှာဖြစ်ရပ်မှန်အာရုံမခံစားနိုင်သည့်အခြေအနေနှင့်ကိုက်ညီသည့်နေရာများနှင့်ကိုက်ညီသောနေရာများလိုအပ်သည်။
ပုံမှန်အသုံးအနှုန်းများအတွက်သော့ချက်စာလုံးများကိုပိုက်ဇာတ်ကောင်များဖြင့် ခွဲထုတ် ရန်လိုအပ်သည် "သို့မဟုတ်" ၏ဆက်ဆံရေးကိုကိုယ်စားပြုရန်။
အကယ်. သော့ချက်စာလုံးတွင်အထူးအက္ခရာများပါ 0 င်ပါကပုံမှန်ကိုက်ညီမှုကိုမထိခိုက်စေရန်ပထမ ဦး ဆုံးလွတ်မြောက်ရန်လိုအပ်သည်။
Multibyte string processing သည်မှန်ကန်ကြောင်းသေချာစေရန် PHP ပတ်ဝန်းကျင်တွင် Mbstring Extension ကိုဖွင့်ထားကြောင်းသေချာအောင်လုပ်ပါ။
သင့်တွင်အောက်ပါနမူနာဝက်ဘ်လိပ်စာရှိသည်ဆိုပါစို့။ သော့ချက်စာလုံးအချို့ကိုအစားထိုးရန်လိုအပ်သည်ဆိုပါစို့။
<?php
$text = "ကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက်သို့သွားပါ https://m66.net/ ပိုမိုသိရှိရန်。";
// ပေါ်လွင် “m66.net”
$keywords = "m66\\.net";
$pattern = "(" . $keywords . ")";
$highlightedText = mb_eregi_replace(
$pattern,
"<mark>\\1</mark>",
$text
);
echo $highlightedText;
?>
ကွပ်မျက်ပြီးနောက် "M66.net" ကိုမီးမောင်းထိုးပြလိမ့်မည်။
အထက်ပါနိဒါန်းမှတစ်ဆင့် MB_eregi_replace နှင့် <memack tags များကိုသင်အလွယ်တကူသုံးနိုင်သည်။ အကြောင်းအရာ၏ဖတ်နိုင်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေရန်စာသားအတွင်းရှိသော့ချက်စာလုံးများကိုမီးမောင်းထိုးပြနိုင်သည်။