PHP တွင်ပုံမှန်အသုံးအနှုန်းများသည်နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှု၏မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ Readability နှင့်ပြောင်းလွယ်ပြင်လွယ်တိုးတက်စေရန် PHP 7 သည် function အသစ်တစ်ခုကို မိတ်ဆက်ပေးသည် ။ ဤလုပ်ဆောင်မှုသည်ပုံမှန်ကိုက်ညီမှုနှင့် callback processing ၏အားသာချက်များကိုပေါင်းစပ်ထားပြီးရှုပ်ထွေးသောအစားထိုးသည့်ယုတ္တိဗေဒဆိုင်ရာစည်းမျဉ်းစည်းကမ်းများကိုအကျုံးကြီး။
ဤဆောင်းပါးသည်သင်၏အခြေခံအဆောက်အအုံနှင့်လက်တွေ့ကျသော application နှင့်လက်တွေ့ကျသော application splays ကိုသင့်အားပိုမိုထိရောက်စွာလုပ်ဆောင်ရန်ကူညီရန်ကူညီရန် Preg_replace_callback_Array ကို ရှင်းပြပါမည်။
PREG_RESTER_CALLBASKBAK_ARRAY သည် PHP 7+ တွင်ထည့်သွင်းထားသော function အသစ်တစ်ခုဖြစ်သည်။ ၎င်းသည် "ပုံမှန်အသုံးအနှုန်း => callback functack function များကိုမြေပုံရေးဆွဲခြင်း" ကိုသတ်မှတ်ရန်နှင့်ထို့နောက်ဤပုံမှန်စည်းမျဉ်းစည်းကမ်းများကိုတစ်ပြိုင်တည်းအသုံးပြုပါ။
Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
preg_replace_callback_array(array $patterns_and_callbacks, string $subject[, int $limit = -1[, int &$count = null]])
$ patternals_and_callbacks - တွဲဖက်ခင်းကျင်းမှုတစ်ခုဖြစ်ပြီး Key သည်ပုံမှန်စကားရပ်ဖြစ်ပြီးတန်ဖိုးသည်သက်ဆိုင်ရာ callback function ဖြစ်သည်။
$ အကြောင်းအရာ - အစားထိုးရန်ပစ်မှတ် string ကို။
$ ကန့်သတ်ချက် - အစားထိုးအများဆုံးအရေအတွက်ကိုသတ်မှတ်ခြင်း, optional parameter သည်။
$ ရေတွက် : အစားထိုးစုစုပေါင်းအရေအတွက်လက်ခံရရှိရန် optional parameter သည်။
ပုံမှန်ဖော်ပြချက်နှစ်ခုနှင့်သက်ဆိုင်ရာ callback လုပ်ဆောင်ချက်များကို အသုံးပြု. string ကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုမှာရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
$text = 'ကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက်သို့သွားပါ:http://m66.net သို့မဟုတ်အီးမေးလ်ပို့ပါ support@m66.net ပံ့ပိုးမှုရယူပါ。';
$result = preg_replace_callback_array([
// ကိုက်ညီURL
'/https?:\/\/[^\s]+/i' => function ($matches) {
return '<a href="' . $matches[0] . '">' . $matches[0] . '</a>';
},
// ကိုက်ညီEmailစကားပေြာဟော
'/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i' => function ($matches) {
return '<a href="mailto:' . $matches[0] . '">' . $matches[0] . '</a>';
}
], $text);
echo $result;
ထုတ်လုပ်မှု -
ကျွန်ုပ်တို့၏တရားဝင်ဝက်ဘ်ဆိုက်သို့သွားပါ:<a href="http://m66.net">http://m66.net</a> သို့မဟုတ်အီးမေးလ်ပို့ပါ <a href="mailto:support@m66.net">support@m66.net</a> ပံ့ပိုးမှုရယူပါ。
ရိုးရာ Preg_replace_callback တွင်ကျွန်ုပ်တို့သည်ပုံစံများစွာကိုကိုင်တွယ်ရန်လိုအပ်ပါကကျွန်ုပ်တို့သည်အပြောင်းအလဲအမျိုးမျိုးကိုရေးရန်လိုအပ်သည်။ Preg_replace_callback_array ကို အသုံးပြုခြင်းယုတ္တိဗေဒကိုဗဟိုဖွဲ့စည်းပုံနှင့်ထိန်းသိမ်းရန်လွယ်ကူသည်
ဥပမာအားဖြင့်, URLs များ, အီးမေးလ်များ, Emoticons စသဖြင့်အလိုအလျောက်ကူးပြောင်းခြင်းသည် HTML tags များသို့ပြောင်းလဲခြင်း, ၎င်းသည် preg_replace_callback_array ၏စွမ်းအားဖြစ်သည်။
$text = 'ဒီ link ကိုကြည့်ပါ:https://m66.net,အီးမေးလ်ပို့ပါ hello@m66.net,နှင့်ပြုံးနေမျက်နှာ :)';
$result = preg_replace_callback_array([
'/https?:\/\/[^\s]+/' => function ($m) {
return '<a href="' . $m[0] . '">' . $m[0] . '</a>';
},
'/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i' => function ($m) {
return '<a href="mailto:' . $m[0] . '">' . $m[0] . '</a>';
},
'/:\)/' => function () {
return '??';
}
], $text);
echo $result;
preg_replace_callback သို့ခေါ်ဆိုမှုများစွာနှင့်နှိုင်းယှဉ်လျှင် Preg_replace_callback_array သည် ကိုက်ညီမှုနှင့်အစားထိုးခြင်းများအားလုံးကိုချက်ချင်းဖြည့်စွက်ပြီးတစ်ပြိုင်နက်တည်းတွင်စွမ်းဆောင်ရည် overhead,
PHP ဗားရှင်းသည် 7.0 နှင့်အထက်ဖြစ်ရမည်။
ပုံမှန်ဖော်ပြချက်တစ်ခုစီ၏ callback function သည်အစားထိုးရလဒ်ကိုပြန်ပို့သင့်သည်။
အစားထိုးအမိန့်သည်ခင်းကျင်းမှု၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ပေါ်တွင်မူတည်သည်။ ထို့ကြောင့်မှီခိုမှုအမိန့်ရှိသည့်အခါခင်းကျင်းမှုအမိန့်ကိုဂရုပြုပါ။
Preg_replace_callback_array သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုဖြစ်ပြီးအထူးသဖြင့် Multi-Modal text parsing နှင့်အစားထိုးခြင်းအတွက်သင့်တော်သည်။ ဤလုပ်ဆောင်မှုကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုပိုမိုတိကျစွာနှင့်ရှင်းလင်းသောနည်းဖြင့်ကိုင်တွယ်နိုင်သည်။
၎င်းသည်ဖွံ့ဖြိုးရေးဖိုရမ်တစ်ခုဖြစ်သလား, ကြွယ်ဝသောစာသားတည်းဖြတ်သူသို့မဟုတ်ရိုးရှင်းသောအချက်အလက်သန့်ရှင်းရေးပြုလုပ်ခြင်းသည် Preg_replace_callback_Array သည် အရေးပါသောအခန်းကဏ် play မှပါ 0 င်နိုင်သည်။
ပုံမှန်အားဖြင့်အသုံးပြုခြင်းလုပ်ငန်းစဉ်တွင်အဘယ်အခက်အခဲများကြုံတွေ့ရသနည်း။ ဆက်သွယ်ရေးအတွက်မက်ဆေ့ခ်ျတစ်ခုထားခဲ့ပါ။