PHP တွင် Preg_replace_callback_array function သည်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ ပုံမှန်အသုံးအနှုန်းများကိုတစ်ပြိုင်နက်တည်းကိုက်ညီပြီးကိုက်ညီသောအကြောင်းအရာများကိုအစားထိုးရန်ခွင့်ပြုသည်။ ဤလုပ်ဆောင်ချက်သည်ပုံမှန်အစားထိုးလုပ်ငန်းများကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်ရန်လိုအပ်သောကုဒ်ကိုရိုးရှင်းစေနိုင်သည်။ ဤဆောင်းပါးသည် Preg_replace_callback_array function ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။
PREG_RESTER_CALLASK_ARARAY function ကို PHP 5.3.0 အပြီးတွင်မိတ်ဆက်ခဲ့သည်။ ၎င်း၏ function သည် preg_replace_ccallback function နှင့်ဆင်တူသော်လည်းတစ်ချိန်တည်းတွင်ပုံမှန်အသုံးအနှုန်းမျိုးစုံထုတ်ယူခြင်းကိုထောက်ပံ့သည်။ ၎င်း၏ function ရှေ့ပြေးပုံစံအောက်ပါအတိုင်းဖြစ်သည် -
preg_replace_callback_array(array $patterns, string $subject);
$ ပုံစံများ - သော့သည်ပုံမှန်စကားရပ်တစ်ခုဖြစ်သည့် Associative Array သည် callback function ဖြစ်သည်။
$ အကြောင်းအရာ - ကိုက်ညီရန်နှင့်အစားထိုးရန် input string ကို။
ကျွန်ုပ်တို့တွင်မတူညီသော URLs နှင့်နေ့စွဲပုံစံများကိုပါ 0 င်သော string တစ်ခုရှိသည်ဆိုပါစို့။ ဤတွင် Preg_replace_callback_array function ကို အသုံးပြု. ဥပမာတစ်ခုဖြစ်သည်။
<?php
// string ကိုရိုက်ထည့်ပါ
$text = "Visit our website at http://example.com for more info. Also, the event is on 2023-04-21.";
// Callback function ကိုသတ်မှတ်ပါ
$patterns = [
'/http(s)?:\/\/([^\/]+)/' => function ($matches) {
// ပြန်လည်နေရာချURLဒိုမိန်းအမည်ဖြစ်သည် m66.net
return "http://" . 'm66.net' . substr($matches[0], strlen($matches[1]) + strlen($matches[2]) + 3);
},
'/\d{4}-\d{2}-\d{2}/' => function ($matches) {
// ပြန်လည်နေရာချ日期格式
return str_replace("-", "/", $matches[0]);
}
];
// အသုံးပြု preg_replace_callback_array 函数进行多个ပြန်လည်နေရာချ
$result = preg_replace_callback_array($patterns, $text);
// ရလဒ်ရလဒ်
echo $result;
?>
input string ကို : URL နှင့်နေ့စွဲပါဝင်သောစာသား။
ပုံမှန်စကားရပ် :
ပထမ ဦး ဆုံး / http (s)?: \ / \ / ([^ \ / [^ \ / [^ \ /] +) / URL နှင့်ကိုက်ညီရန်အသုံးပြုသည်။
ဒုတိယပုံမှန်ပုံမှန် / \ d {4} - \ d {2} - / \ d {2} / \ d {2} / \ d {2} / \ d {2} /
callback function ကို :
URL အတွက်၎င်း၏ဒိုမိန်းအမည်အပိုင်းကို M66.net ဖြင့်အစားထိုးပြီးလမ်းကြောင်းအပိုင်းကိုမပြောင်းလဲပါ။
ရက်စွဲများအတွက်ကျွန်ုပ်တို့သည် အစားထိုး / , နှင့်အတူရက်စွဲ format ကို 2023/04/21 သို့ပြောင်းလဲ။
ရလဒ် output : အစားထိုးစာသား၏နောက်ဆုံးထုတ်လုပ်မှု။
Visit our website at http://m66.net for more info. Also, the event is on 2023/04/21.
Preg_replace_callback_array ကို သုံးသောအခါပုံမှန်အသုံးအနှုန်း၏ callback function တစ်ခုချင်းစီသည်အစားထိုးတန်ဖိုးကိုပြန်ပို့နိုင်သည်ကိုသေချာစေရန်လိုအပ်သည်။
Preg_replace_callback_array ပွဲများနှင့်ပုံမှန်အသုံးအနှုန်းများအရအစားထိုးရန်နှင့်ပုံမှန်အသုံးအနှုန်းများသည်ပ conflicts ိပက်ခဖြစ်ရန်သေချာစေပါ။
အကယ်. ရှုပ်ထွေးသောအစားထိုးလုပ်ငန်းများလိုအပ်ပါကပုံမှန်လိုက်စားသောအကြောင်းအရာများအပေါ် အခြေခံ. ပြောင်းလွယ်ပြင်လွယ်များကိုကိုင်တွယ်ရန်သင့်အားခွင့်ပြုရန်ခွင့်ပြုထားသောကြောင့် callback function များသည်မရှိမဖြစ်လိုအပ်သည်။
ဤနည်းအားဖြင့် Preg_replace_callback_array သည် ပုံမှန်စကားရပ်အစားထိုးလုပ်ငန်းများကိုထိရောက်စွာကိုင်တွယ်ရန်ခွင့်ပြုသည်။ ပုံမှန်အစည်းအဝေးမျိုးစုံကိုတစ်ပြိုင်နက်တည်းအစားထိုးရန်ဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးကသင့်အားနားလည်ရန်မျှော်လင့်ပါသည်။