လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Preg_replace_callback_array function ကို အသုံးပြု. ရိုးရှင်းသော template engine တစ်ခုကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။

Preg_replace_callback_array function ကို အသုံးပြု. ရိုးရှင်းသော template engine တစ်ခုကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။

M66 2025-05-18

PHP တွင် PREG_RESTER_CALLESTER_CALLASK_ARARAY function သည်ပုံမှန်အသုံးအနှုန်းများနှင့် callback လုပ်ဆောင်ချက်များကို အခြေခံ. စာသားများကိုလုပ်ဆောင်နိုင်သည့်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်ကိုကနူးညံ့သိမ်မွေ့စွာအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် variable များကို html တင်းပလိတ်များထဲသို့အလွယ်တကူထည့်သွင်းထားသည့်ရိုးရှင်းသောပုံစံအင်ဂျင်ကိုအကောင်အထည်ဖော်နိုင်သည်။

Preg_replace_callback_array ကို အသုံးပြု. ရိုးရှင်းသော template engine တစ်ခုကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။

1 ။ Preg_replace_callback_array ဆိုတာဘာလဲ။

Preg_replace_callback_array သည် PHP တွင်ပုံမှန်စကားရပ်ကိုအခြေခံသည့်အစားထိုးလုပ်ငန်းများကိုလုပ်ဆောင်သော function တစ်ခုဖြစ်သည်။ ကိုက်ညီသောပုံမှန်စကားရပ်တစ်ခုစီအတွက် callback function ကိုသတ်မှတ်နိုင်သည်။ callback function ကိုကိုက်ညီသောအကြောင်းအရာအပေါ် အခြေခံ. စိတ်ကြိုက်ပြုလုပ်နိုင်ပြီးနောက်ဆုံးအစားထိုးရလဒ်ကိုပြန်ပို့သည်။

function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -

 preg_replace_callback_array(array $patterns_and_callbacks, string $subject);
  • $ patternals_and_callbacks : သော့ချက်များသည်ပုံမှန်အသုံးအနှုန်းများနှင့်တန်ဖိုးများသည် callback functions များဖြစ်သည်။

  • $ အကြောင်းအရာ - လုပ်ငန်းများ၌တင်ရန် string ကို။

2 ။ ရိုးရှင်းသော template အင်ဂျင်ကိုတည်ဆောက်ပါ

တင်းပလိတ်များတွင် variable များကိုအစားထိုး။ ရိုးရှင်းသောခြွင်းချက်ယုတ္တိဗေဒကိုထောက်ပံ့သောရိုးရှင်းသော template အင်ဂျင်ကိုကျွန်ုပ်တို့ဖန်တီးပါမည်။ Preg_replace_callback_array ဖြင့်ကျွန်ုပ်တို့သည်ဤ function ကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။

1 ။ တင်းပလိတ်များနှင့် variable တွေကိုပြင်ဆင်ပါ

ကျွန်ုပ်တို့တွင်ရိုးရှင်းသော HTML template တစ်ခုရှိသည်ဆိုပါစို့

 $template = "<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{{name}}!</h1><p>{{message}}</p>";
$variables = [
    'name' => 'Zhang San',
    'message' => 'ဤတွင်ရိုးရှင်းသော template ကိုအင်ဂျင်ဥပမာတစ်ခုဖြစ်သည်。',
];

2 ။ အစားထိုးစည်းမျဉ်းစည်းကမ်းတွေကိုသတ်မှတ်ပါ

placeholder အစားထိုးစည်းမျဉ်းများကိုသတ်မှတ်ရန် Preg_replace_callback_Array ကို သုံးပါမည်။ အဓိကအလုပ်နှစ်ခုကိုကိုင်တွယ်ရန်လိုအပ်သည်။

  1. အမှန်တကယ်တန်ဖိုးများကို (ဥပမာ, {{အမည်}}} ) ကိုအစားထိုးပါ။

  2. အခြေအနေများအရကွဲပြားခြားနားသောအကြောင်းအရာများကိုပြသခြင်းကဲ့သို့သောစိတ်ကြိုက်ဟန်ချက်ကိုကိုင်တွယ်ပါ။

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

3 ။ Template အင်ဂျင်ကိုအကောင်အထည်ဖော်ပါ

အောက်ပါသည် Template အင်ဂျင်ကိုအကောင်အထည်ဖော်သည့် PHP ကုဒ်ဖြစ်သည်။

 <?php

$template = "<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{{name}}!</h1><p>{{message}}</p>";
$variables = [
    'name' => 'Zhang San',
    'message' => 'ဤတွင်ရိုးရှင်းသော template ကိုအင်ဂျင်ဥပမာတစ်ခုဖြစ်သည်。',
];

// အသုံးပြု preg_replace_callback_array template အင်ဂျင်ကိုအကောင်အထည်ဖော်ပါ
$patterns_and_callbacks = [
    '/{{(.*?)}}/' => function ($matches) use ($variables) {
        $key = $matches[1];
        return isset($variables[$key]) ? $variables[$key] : '';
    },
];

$output = preg_replace_callback_array($patterns_and_callbacks, $template);

echo $output;

4 ။ code ခွဲခြမ်းစိတ်ဖြာ

  • The $patterns_and_callbacks array defines a regular expression /{{(.*?)}}/ , which matches placeholders in the template (e.g. {{name}} ).

  • လိုက်ဖက်တဲ့ placeholder တစ်ခုချင်းစီအတွက် callback function မှတဆင့် $ variable တွေကို array အတွက်အမှန်တကယ်တန်ဖိုးနှင့်အစားထိုး။ သက်ဆိုင်ရာ variable ကိုမတွေ့ရှိနိုင်ပါက callback function သည်အချည်းနှီးသောကြိုးကိုပြန်ပို့သည်။

5 ။ တိုးချဲ့ function ကို: ခြွင်းချက်ယုတ္တိဗေဒ

Template အင်ဂျင်ကိုပိုမိုအားကောင်းစေရန်အတွက်အချို့သောအခြေအနေကို အခြေခံ. အကြောင်းအရာတစ်ခုအပေါ် အခြေခံ. အကြောင်းအရာအချို့ကိုပြသရန်ရှိမရှိဆုံးဖြတ်ခြင်းကဲ့သို့သောခြွင်းချက်စည်းကမ်းချက်များကိုထောက်ခံရန်အထောက်အပံ့များထည့်နိုင်သည်။ ဒီ function ကိုအကောင်အထည်ဖော်ဖို့ syntax ကို syntax ကိုသုံးနိုင်တယ်။

ဤတွင်ပုံစံတစ် ဦး တွင်ရိုးရှင်းသောခြွင်းချက်ဆိုင်ရာတရားစွဲဆိုမှုများကိုမည်သို့အသုံးပြုရမည်ကိုဖော်ပြသည့်ဥပမာတစ်ခုမှာ -

 <?php

$template = "<h1>ဝမ်းသာစွာနှုတ်ဆက်ခြင်း,{{name}}!</h1>{{if show_message}}<p>{{message}}</p>{{endif}}";
$variables = [
    'name' => 'Zhang San',
    'message' => 'ဤတွင်ရိုးရှင်းသော template ကိုအင်ဂျင်ဥပမာတစ်ခုဖြစ်သည်。',
    'show_message' => true, // မက်ဆေ့ခ်ျကိုဖော်ပြရန်ရှိမရှိထိန်းချုပ်မှု
];

// အသုံးပြု preg_replace_callback_array template အင်ဂျင်ကိုအကောင်အထည်ဖော်ပါ
$patterns_and_callbacks = [
    '/{{(.*?)}}/' => function ($matches) use ($variables) {
        $key = $matches[1];
        return isset($variables[$key]) ? $variables[$key] : '';
    },
    '/{{if (.*?)}}(.*?){{endif}}/s' => function ($matches) use ($variables) {
        $condition = $matches[1];
        $content = $matches[2];
        // အခြေအနေများနှင့်တရားသူကြီးကိုဆန်းစစ်ပါ
        if (isset($variables[$condition]) && $variables[$condition]) {
            return $content;
        }
        return '';
    },
];

$output = preg_replace_callback_array($patterns_and_callbacks, $template);

echo $output;

6 ။ code ခွဲခြမ်းစိတ်ဖြာ

  • အသစ်သောပုံမှန်အသုံးအနှုန်း / {{လျှင်။ *?) {{endif}} {endif}}} {endif} / s ကို ခြွင်းချက်ကြေငြာချက်ကိုက်ညီရန်ထည့်သွင်းထားသည်။

  • callback function သည် {{}}}}}} မှန်သည်ဖြစ်စေစစ်ဆေးသည်။ မှန်လျှင် {{message}}} ကိုပြသသည်။ မှားယွင်းသော်လျှင်ဘာမျှမပြပါ။

3 ။ နိဂုံးချုပ်

Preg_replace_callback_array မှတစ်ဆင့်တင်းပလိတ်များ၌အမျိုးမျိုးသောအစားထိုးခြင်းနှင့်ခြွင်းချက်စည်းကမ်းထိန်းသိမ်းခြင်းကိုကိုင်တွယ်သောအလွန်ရိုးရှင်းသော template အင်ဂျင်ကိုကျွန်ုပ်တို့အကောင်အထည်ဖော်နိုင်သည်။ ဤအင်ဂျင်သည်အလွန်အခြေခံထားသော်လည်းပုံစံအင်ဂျင်၏အဓိကလုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်ရန်ပုံမှန်အသုံးအနှုန်းများနှင့် callback function များကိုမည်သို့အသုံးပြုရမည်ကိုပြသသည်။ ဤကဲ့သို့သောကွင်းဆက်, စစ်ထုတ်ခြင်းများ, မက်ခရိုအဓိပ္ပာယ်ဖွင့်ဆိုချက်များစသည့်ဤအခြေခံတွင်ပိုမိုရှုပ်ထွေးသောလုပ်ဆောင်မှုများကိုတိုးချဲ့နိုင်ပြီးပိုမိုအားကောင်းသည့်ပုံစံအင်ဂျင်ကိုတည်ဆောက်နိုင်သည်။