PHP တွင် Preg_replace_callback သည်အလွန်လက်တွေ့ကျသောပုံမှန်အစားထိုးလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်းသည်ပုံမှန်စကားရပ်ကိုက်ညီမှုအပေါ် အခြေခံ. ကိုက်ညီသောရလဒ်များကိုလုပ်ဆောင်ရန် callback function များကိုအသုံးပြုရန်ခွင့်ပြုသည်။ အထူးသဖြင့်ကိုက်ညီသောအကြောင်းအရာများသည် dynamic modify လုပ်ရန်လိုအပ်သည့်အခါရှုပ်ထွေးသောအစားထိုးလိုအပ်ချက်များအတွက်မကြာခဏအသုံးပြုလေ့ရှိသည်။ callback function ကို၏ parameters တွေကိုနားလည်နားလည်ခြင်းသည်ဤလုပ်ဆောင်မှုကိုမှန်ကန်စွာအသုံးပြုခြင်းသည်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် preg_replace_callback callback အတွင်းရှိ parameter တစ်ခုစီ၏အခန်းကဏ် parse ကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
PREG_RESTER_CALLE_CALLASBACK function ကိုပုံမှန်စကားရပ်နှင့်ကိုက်ညီသောအစိတ်အပိုင်းကိုအစားထိုးရန် callback function ကို execute လုပ်ရန်အသုံးပြုသည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">preg_replace_callback</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$callback</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>$ ပုံစံ - ပုံမှန်စကားရပ်ပုံစံ။
$ callback : ကိုက်ညီမှုရလဒ်များကိုကိုင်တွယ်ရန်အသုံးပြုသော callback function ကို။
$ အကြောင်းအရာ - ကိုက်ညီခြင်းနှင့်အစားထိုးရန် string ကို။
callback function သည် preg_replace_callback ၏အဓိကအချက်ဖြစ်သည်။ များသောအားဖြင့်ကိုက်ညီမှုရှိသောအကြောင်းအရာသည်အထူးအပြောင်းအလဲအတွက်အထူးပြုလုပ်သောအခါကျွန်ုပ်တို့သည် callback function ကိုမှတစ်ဆင့်ပွဲတိုင်းကိုလုပ်ကိုင်မည်။ callback function တစ်ခု၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်သည်အမည်မသိ function တစ်ခုသို့မဟုတ်အမည်ရှိသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်နိုင်သည်။ မည်သည့်ပုံစံဖြင့်, callback function သည်သတ်မှတ်ထားသော parameterscers အရေအတွက်ကိုလက်ခံလိမ့်မည်။
Callback function ၏ပထမဆုံး pareter သည်ပုံမှန်အသုံးအနှုန်းဖြင့်လိုက်ဖက်သောရလဒ်များပါ 0 င်သည့် array တစ်ခုဖြစ်သည်။ ၎င်း၏အကြောင်းအရာများပါဝင်သည်:
ပထမ element ( $ ကိုက်ညီမှု [0] ) သည်ကိုက်ညီသော string တစ်ခုလုံးဖြစ်သည်။
နောက်ဆက်တွဲဒြပ်စင်များ ( $ ကိုက်ညီခြင်း [1] , ဒေါ်လာပွဲများ [2] , ... ) သည်ဖမ်းဆီးရမိသည့်အုပ်စုတစ်ခုစီ၏ကိုက်ညီမှုရှိသောရလဒ်များဖြစ်သည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင်အောက်ပါပုံမှန်ဖော်ပြချက်ရှိသည်ဆိုပါစို့။
<span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/(\d+)\-(\d+)/'</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">'12-34, 56-78'</span></span><span>;
</span></span>ထို့နောက်ကိုင်တွယ်ရန် preg_replace_callback ကို သုံးပါ။
<span><span><span class="hljs-title function_ invoke__">preg_replace_callback</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, function(</span><span><span class="hljs-variable">$matches</span></span><span>) {
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$matches</span></span><span>);
}, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>ကွပ်မျက်ရလဒ်မှာ:
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => </span><span><span class="hljs-number">12</span></span><span>-</span><span><span class="hljs-number">34</span></span><span>
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-number">12</span></span><span>
[</span><span><span class="hljs-number">2</span></span><span>] => </span><span><span class="hljs-number">34</span></span><span>
)
</span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">0</span></span><span>] => </span><span><span class="hljs-number">56</span></span><span>-</span><span><span class="hljs-number">78</span></span><span>
[</span><span><span class="hljs-number">1</span></span><span>] => </span><span><span class="hljs-number">56</span></span><span>
[</span><span><span class="hljs-number">2</span></span><span>] => </span><span><span class="hljs-number">78</span></span><span>
)
</span></span>$ ကိုက်ညီမှု [0] သည်ကိုက်ညီသောအပြည့်အဝ string ကိုဖြစ်ပါတယ်။
$ ကိုက်ညီ [1] နှင့် $ ကိုက်ညီမှု [2] ကိုက်ညီ subpattern အစိတ်အပိုင်းများဖြစ်ကြသည်။
ပြန်လည်အစားထိုးခြင်း၏ရလဒ်အဖြစ် callback function ကို၏ပြန်လာတန်ဖိုးကိုအသုံးပြုလိမ့်မည်။ ဆိုလိုသည်မှာ callback function သည် data processing function တစ်ခုမျှသာမဟုတ်ပါ, ၎င်း၏ပြန်လာတန်ဖိုးသည်အစားထိုး၏အကြောင်းအရာများကိုတိုက်ရိုက်အကျိုးသက်ရောက်သည်။ အကယ်. callback function ကို string ကိုပြန်ပို့ပါက string သည်မူလကလိုက်ဖက်သောအပိုင်းကိုအစားထိုးလိမ့်မည်။
ဥပမာအားဖြင့်:
<span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">'/(\d+)\-(\d+)/'</span></span><span>;
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">'12-34, 56-78'</span></span><span>;
</span><span><span class="hljs-variable">$replaced</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace_callback</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, function(</span><span><span class="hljs-variable">$matches</span></span><span>) {
</span><span><span class="hljs-comment">// အစားထိုးအဖြစ်နံပါတ်နှစ်ခု၏ပေါင်းလဒ်ကိုသုံးပါ</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">1</span></span><span>] + </span><span><span class="hljs-variable">$matches</span></span><span>[</span><span><span class="hljs-number">2</span></span><span>];
}, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$replaced</span></span><span>;
</span></span>output ရလဒ် -
<span><span>46, 134
</span></span>ဤဥပမာတွင်လိုက်ဖက်သောနံပါတ်များကိုကျွန်ုပ်တို့ထည့်ပြီးရလဒ်နှင့်အတူမူရင်းကိုက်ညီသည့် string ကိုအစားထိုးလိုက်သည်။
Callback function ကိုယ်နှိုက်သည် $ offset နှင့် $ ကန့် သတ်ချက်များမှတစ်ဆင့်ပိုမိုအသေးစိတ်အချက်အလက်များကိုလည်းရယူနိုင်သည်။ ဤရွေ့ကား parameters တွေကိုများသောအားဖြင့် preg_replace_callback က PREG_RESTERT_CALLBACK မှပြည်တွင်း၌ကိုင်တွယ်သည်။ များသောအားဖြင့်, ဘုံအသုံးပြုမှုတွင်ပထမ ဦး ဆုံး parameter သည် ( $ matches ) နှင့် callback function ကိုပြန်ပို့ခြင်းတန်ဖိုးသည်လုံလောက်သည်။
PREG_RESTER_CALLACK function နှင့် callback function သည် developer များနှင့်ကိုက်ညီသောအကြောင်းအရာများအပေါ် အခြေခံ. devere များကို devonically အစားထိုးခွင့်ပြုသည်။ callback function တွင်ပထမဆုံး parameter $ ကိုက်ညီမှု သည်ပွဲစဉ်နှင့်တွေ့ဆုံမှုအပြည့်အ 0 နှင့်စုစည်းထားသောအုပ်စု၏သတင်းအချက်အလက်များကိုတိုက်ရိုက်ပြန်လည်ပေးပို့သည့်အကြောင်းအရာကိုတိုက်ရိုက်ပြန်လည်သတ်မှတ်ခြင်းကိုတိုက်ရိုက်သတ်မှတ်ထားသည်။ ဤအခြေခံသဘောတရားများကိုကျွမ်းကျင်ပြီးသောအခါရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုအကောင်အထည်ဖော်ရန် Preg_replace_Callback ကို သုံးနိုင်သည်။