အသုံးပြုသူ input သို့မဟုတ် dynamically ထုတ်ပေးသောအကြောင်းအရာများကိုပြုပြင်သည့်အခါ PHP developer များသည် tson_encode () ကို ရှေ့ဆုံးတွင် သုံး. ဤအချက်အလက်များကိုဖွဲ့စည်းတည်ဆောက်ပုံနှင့်လုံခြုံမှုရှိစေရန်လိုအပ်သည်။ MB_eregi_replace သည် PHP Multi-byte string extension mbstring တွင်လုပ်ဆောင်နိုင်သည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည် ။ ဤဆောင်းပါးသည်ဒေတာများကိုအစားထိုးရန်နှင့် JSONS_CENTode () ကို ပေါင်းစပ်ရန် MB_ereGi_replace ကို မည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
MB_ereGi_replace () သည်အောက်ပါ syntax နှင့်အတူ Multibyte-Safe ပုံမှန်အစားထိုးလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။
mb_eregi_replace(string $pattern, string $replacement, string $string, string $option = ""): string|false
Preg_replace နှင့်ဆင်တူသည်မှာ၎င်းသည်ပုံမှန်အသုံးအနှုန်းများကိုလည်းအထောက်အကူပြုသော်လည်း MB_ereG_replace နှင့်မတူဘဲ၎င်းသည်ကိစ္စတွင်မခံစားနိုင်သောဗားရှင်း (ပုံမှန်အားဖြင့် ငါ ပြုပြင်မွမ်းမံခြင်းနှင့်ညီမျှသည်) ဖြစ်သည်။
ပုံမှန်ဇာတ်လမ်းတစ်ပုဒ်ကိုမြင်ယောင်ကြည့်ပါ။ string ကို string ကိုအစားထိုးရန်လိုအပ်သည်, HTTP သို့မဟုတ် HTTPS မှလုံခြုံသော placeholders များဖြင့်စတင်သောလင့်ခ်များကိုအစားထိုးခြင်းကိုရှောင်ကြဉ်ပါ။
$input = "ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည်:https://m66.net/page?id=123,ပိုမိုသိရှိရန်。";
$pattern = "(https?://[^\s]+)";
$replacement = "[link ကိုပိတ်ဆို့]";
$cleaned = mb_eregi_replace($pattern, $replacement, $input);
echo $cleaned;
ရလဒ်ရလဒ် -
ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည်:[link ကိုပိတ်ဆို့],ပိုမိုသိရှိရန်。
အစားထိုးအကြောင်းအရာများကိုရှေ့ဆုံးအဆုံးသို့လွှဲပြောင်းသောအခါ (Ajax မှတဆင့်) သို့ပြောင်းရွှေ့သောအခါ JSONSUNTODEDED () ကိုအသုံးပြုသည်။ အစားထိုးရလဒ်သည် " , \ n စသဖြင့်စသည်တို့ပါ 0 င်သောအထူးအက္ခရာများပါ 0 င်ပါကတိုက်ရိုက်ဂီယာသည် JSON format ကိုဖျက်ဆီးနိုင်သည်။
ဥပမာတစ်ခုကိုကြည့်ရအောင်။
$data = [
"message" => mb_eregi_replace($pattern, $replacement, $input)
];
$json = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
echo $json;
ရလဒ်ရလဒ် -
{"message":"ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည်:[link ကိုပိတ်ဆို့],ပိုမိုသိရှိရန်。"}
JSON_UNSESSESTACAPED_UnCOCECOCOCode နှင့် JSON_UNSESescaped_slashes များကို ဤနေရာတွင်အသုံးပြုသည်။
တခါတရံတွင်ကျွန်ုပ်တို့သည် URL တစ်ခုလုံးကိုအစားထိုးလိုခြင်းမရှိခဲ့ပါ, သို့သော်ကျွန်ုပ်တို့သည်ဒိုမိန်းအမည်များကဲ့သို့သောအချက်အလက်အချို့ကိုဆက်လက်ထိန်းသိမ်းထားလိုကြသည်။ ၎င်းကို callbacks ဖြင့်အကောင်အထည်ဖော်ရန်အမည်မသိလုပ်ဆောင်ချက်များကိုသုံးနိုင်သည်။
$pattern = "(https?://([a-z0-9\-\.]+)(/[^\s]*))";
$replacement = function ($matches) {
return "ဒိုမိန်းအမည်မှလင့်များ:" . $matches[2]; // ဒိုမိန်းအမည်အပိုင်းကိုထုတ်ယူပါ
};
$input = "ဤနေရာကိုကလစ်နှိပ်ပါ:https://m66.net/product/view?id=10 အသေးစိတ်ကိုစစ်ဆေးပါ";
$cleaned = preg_replace_callback("/$pattern/i", $replacement, $input);
echo json_encode(["message" => $cleaned], JSON_UNESCAPED_UNICODE);
ထုတ်လုပ်မှု -
{"message":"ဤနေရာကိုကလစ်နှိပ်ပါ:ဒိုမိန်းအမည်မှလင့်များ:m66.net အသေးစိတ်ကိုစစ်ဆေးပါ"}
ဤနည်းလမ်းသည် URL အချက်အလက်များကိုပြောင်းလွယ်ပြင်လွယ်နိုင်ပြီးစာရင်းအင်းအရင်းအမြစ်များနှင့်ဒိုမိန်းအမည် filtering ကဲ့သို့သောလုံခြုံရေးမူဝါဒများအတွက်ပင်အသုံးပြုနိုင်သည်။
MB_ereGi_replace မှတဆင့်ကျွန်ုပ်တို့သည် string compute ကိုဘာသာစကားမျိုးစုံဖြင့်ထိရောက်စွာအစားထိုးနိုင်ပြီးလုံခြုံစွာအစားထိုးနိုင်သည်။ JSON_enCode ၏ကျိုးကြောင်းဆီလျော်စွာအသုံးပြုခြင်းနှင့်ပေါင်းစပ်ပြီး () ကူးစက်စဉ်အတွင်းအချက်အလက်များ၏ဖွဲ့စည်းတည်ဆောက်ပုံနှင့်အကြောင်းအရာများကိုအဂတိလိုက်စားမှုမရှိစေရန်သေချာသည်။ ဤပေါင်းစပ်မှုသည်အထူးသဖြင့်နိုင်ငံတကာလျှောက်လွှာများ, ကြွယ်ဝသောစာသားပြုပြင်ခြင်း, လုံခြုံရေးပြန်လည်သုံးသပ်ခြင်းနှင့်အခြားအခြေအနေများဆောက်လုပ်ခြင်းတွင်ဤပေါင်းစပ်မှုတွင်အလွန်လက်တွေ့ကျသည်။
ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ထားသောပေါင်းစပ်မှုများကိုကျွမ်းကျင်စွာအသုံးပြုခြင်းသည်သင်၏အချက်အလက်များကိုကြိုတင်သတ်မှတ်ထားခြင်းနှင့်လုံခြုံသောဂီယာတွင်သင်၏စွမ်းရည်ကိုများစွာတိုးတက်စေလိမ့်မည်။