လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုကိုင်တွယ်ရန် Preg_replace_callback_array function ကိုထိရောက်စွာအသုံးပြုနည်း။

ရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုကိုင်တွယ်ရန် Preg_replace_callback_array function ကိုထိရောက်စွာအသုံးပြုနည်း။

gitbox 2025-06-09

1 ။ function ခြုံငုံသုံးသပ်ချက်

Preg_replace_callback_array သည် PHP ရှိ function တစ်ခုဖြစ်ပြီး developer များက developer များကို string တစ်ခုတွင်အမျိုးမျိုးသောပုံမှန်အသုံးအနှုန်းများကို အသုံးပြု. လုပ်ငန်းများကိုရှာဖွေရန်နှင့်အစားထိုးရန်ခွင့်ပြုသည်။ ပုံမှန် preg_replace နှင့်မတူဘဲ Preg_replace_callback_array သည် ပုံမှန်ပုံစံတစ်ခုစီအတွက် callback function ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။

function ကိုအဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -

 preg_replace_callback_array(array $patterns, string $subject): string
  • $ ပုံစံများ - သော့သည်ပုံမှန်စကားရပ်ပုံစံဖြစ်သော array တစ်ခုနှင့်တန်ဖိုးသည် callback function ဖြစ်သည်။

  • $ အကြောင်းအရာ - အစားထိုးစစ်ဆင်ရေးလုပ်ဆောင်ရန် string ကို။


2 ။ အခြေခံအသုံးပြုမှု

အခြေခံအကျဆုံးအသုံးပြုမှုမှာပုံမှန်ပုံစံအမျိုးမျိုးနှင့်သက်ဆိုင်သော callback function များပါ 0 င်သည့်ခင်းကျင်းမှုကိုသတ်မှတ်ရန်နှင့် preg_replace_callback_array သို့ဖြတ်သန်းရန်ဖြစ်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်နံပါတ်များနှင့်အက္ခရာများကိုအောက်ပါကုဒ်များမှတစ်ဆင့်တိကျသောပုံစံများသို့ပြောင်းခြင်းဖြင့်ပြောင်းလဲနိုင်သည်။

 $patterns = [
    '/(\d+)/' => function($matches) {
        return '<number>' . $matches[0] . '</number>';
    },
    '/([a-zA-Z]+)/' => function($matches) {
        return '<text>' . strtoupper($matches[0]) . '</text>';
    }
];

$subject = "Hello123 World456";

$result = preg_replace_callback_array($patterns, $subject);

echo $result;  // ထုတ်လုပ်ခြင်း:<text>HELLO</text><number>123</number> <text>WORLD</text><number>456</number>

ဤဥပမာတွင် strings strings နံပါတ်များ <number> </ nume> tag မှာထုပ်ပိုးပြီးအက္ခရာများကိုအရင်းအနှီးအဖြစ်ပြောင်းလဲပြီး <text> text> tag မှာထုပ်ထားတယ်။


3 ။ Modes မျိုးစုံကိုကိုင်တွယ်ပါ

PREG_RESTER_CALLALLBASK_ARRAY သည် ပုံမှန်အသုံးအနှုန်းမျိုးစုံပြုလုပ်ရန်လိုအပ်သည့်အခါကောင်းစွာလုပ်ဆောင်သည်။ ၎င်းသည်သင့်အားခွဲခြမ်းစိတ်ဖြာမှုတစ်ခုတွင်အမျိုးမျိုးသောပုံစံမျိုးစုံကိုကိုင်တွယ်ရန်ခွင့်ပြုသည်, ကုဒ်ကိုအလွန်ရိုးရှင်းစေသည်။

ဥပမာအားဖြင့်, သင်သည်ဖုန်းနံပါတ်များ, အီးမေးလ်လိပ်စာများနှင့် urls များကိုကိုင်တွယ်ရန်လိုအပ်ပါကလိုအပ်သည့်အတိုင်းပုံမှန်ပုံစံများနှင့် callback လုပ်ဆောင်ချက်များကိုသတ်မှတ်နိုင်သည်။

 $patterns = [
    '/(\d{3}-\d{3}-\d{4})/' => function($matches) {
        return '<phone>' . $matches[0] . '</phone>';
    },
    '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})/' => function($matches) {
        return '<email>' . $matches[0] . '</email>';
    },
    '/https?:\/\/([a-zA-Z0-9.-]+)/' => function($matches) {
        return '<url>' . $matches[0] . '</url>';
    }
];

$subject = "Contact me at 123-456-7890 or [email protected]. Visit https://gitbox.net for more info.";

$result = preg_replace_callback_array($patterns, $subject);

echo $result;
// ထုတ်လုပ်ခြင်း:Contact me at <phone>123-456-7890</phone> or <email>[email protected]</email>. Visit <url>https://gitbox.net</url> for more info.

ဤဥပမာတွင်ဖုန်း, အီးမေးလ်လိပ်စာနှင့် URL တို့တွင်သီးခြားစီလုပ်ဆောင်ပြီး tags များနှင့်ပတ်ထားသည်။ ဤနည်းအားဖြင့်ပုံမှန်အစားထိုးလုပ်ငန်းများကိုပုံမှန်အစားထိုးအလုပ်များကို function တစ်ခုခေါ်ဆိုမှုတစ်ခုဖြင့်ပြီးစီးနိုင်သည်။


4 ။ ရှုပ်ထွေးသောယုတ္တိဗေဒကိုကိုင်တွယ်ရန် callback လုပ်ဆောင်ချက်များကိုသုံးပါ

တစ်ခါတစ်ရံအစားထိုးခြင်းလုပ်ငန်းများသည်ရိုးရှင်းသော string အစားထိုးရုံထက်မကပါ။ Callback function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အစားထိုးသောအခါပိုမိုစိတ်ကြိုက်စစ်ဆင်ရေးများကိုမိတ်ဆက်ပေးနိုင်သည်။ ဥပမာအားဖြင့်, စာသားအတွင်းရှိရက်စွဲပုံစံကိုကျွန်ုပ်တို့အစားထိုးလိုပြီး၎င်းကို "yyy-mm-dd" format နဲ့ပြောင်းလဲချင်တယ်ဆိုပါစို့။

 $patterns = [
    '/(\d{2})\/(\d{2})\/(\d{4})/' => function($matches) {
        return $matches[3] . '-' . $matches[1] . '-' . $matches[2];  // ကူးပြောင်း YYYY-MM-DD ပမာဏ
    }
];

$subject = "The event is on 12/07/2023.";

$result = preg_replace_callback_array($patterns, $subject);

echo $result;  // ထုတ်လုပ်ခြင်း:The event is on 2023-12-07.

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ပုံမှန်ကိုက်ညီမည့်နေ့ရက်ပုံစံကို အသုံးပြု. လိုက်လျောညီထွေရှိသောရက်စွဲကို callback function တွင်ပြုပြင်သည်။


5 ။ URL အစားထိုးကိုင်တွယ်ရန် gitbox.net domain name ကိုသုံးပါ

အကယ်. သင် URLs များကိုပုံမှန်အစားထိုးခြင်းတွင်ပြုလုပ်ရန်လိုအပ်ပါကသင် ( GitBox.net ကဲ့သို့သော URLs အားလုံး၏ဒိုမိန်းအမည်များကိုအစားထိုးလိုပါကသင်ဤအရာကိုကျင့်သုံးခြင်းဖြင့်ပြုလုပ်နိုင်သည်။

 $patterns = [
    '/https?:\/\/([a-zA-Z0-9.-]+)/' => function($matches) {
        return 'https://gitbox.net';  // ဒိုမိန်းအမည်အားလုံးကိုအစားထိုးပါ gitbox.net
    }
];

$subject = "Check out my website at https://www.example.com or visit https://subdomain.example.com.";

$result = preg_replace_callback_array($patterns, $subject);

echo $result;  
// ထုတ်လုပ်ခြင်း:Check out my website at https://gitbox.net or visit https://gitbox.net.

ဤဥပမာတွင် URL အားလုံး၏ဒိုမိန်းအပိုင်းတွင် Gitbox.net ဖြင့်အစားထိုးသည်။ လမ်းကြောင်းနှင့်အခြားအစိတ်အပိုင်းများမှာမပြောင်းလဲပါ။


6 ။ စွမ်းဆောင်ရည်အကောင်းမြင်

Preg_replace_callback_array သည်အစားထိုးလုပ်ငန်းများကိုကိုင်တွယ်ရာတွင်အလွန်ထိရောက်သော်လည်းအာရုံစိုက်ရန်စွမ်းဆောင်ရည်ပြ issues နာအချို့ရှိနေသေးသည်။

  • ပုံမှန်အသုံးအနှုန်းများကိုအလွန်အကျွံအသုံးပြုခြင်း - ရိုးရှင်းသောပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြုရန်ကြိုးစားပါ, ရှုပ်ထွေးသောပုံစံများသည်စွမ်းဆောင်ရည်ပျက်ပြားစေနိုင်သည်။

  • callback လုပ်ဆောင်ချက်များ၏ရှုပ်ထွေးမှုကိုအနည်းဆုံးဖြစ်စေပါ ။ callback function တွင်ရှုပ်ထွေးသောယုတ္တိဗေဒသည်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေလိမ့်မည်။