PHP တွင်ပုံမှန်အသုံးအနှုန်းများသည်အထူးသဖြင့်စာသားအစားထိုးခြင်းနှင့်ပုံစံကိုက်ညီမှုလိုအပ်သည့်အခါပုံမှန်အသုံးအနှုန်းများသည်ခိုင်မာသောစာသားပြုပြင်ခြင်းစွမ်းရည်များကိုပေးသည်။ PREG_RESTER_CALLBASK_ARARY သည်အထူးသဖြင့်စျေးကွက်အမျိုးမျိုးအတွက်အမျိုးမျိုးသောစျေးကွက်အမျိုးမျိုးအတွက်ကောင်းမွန်သောစိုက်ပျိုးမှုလုပ်ငန်းများလိုအပ်သည့်အလွန်အသုံးဝင်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်ဤစျေးကွက်တွင်ခွဲခြားရန်နှင့်လုပ်ဆောင်ရန် Preg_replace_callback_array function ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။
Preg_replace_callback_array သည် PHP ရှိ function တစ်ခုဖြစ်သည်။ သာမန် preg_replace နှင့်မတူဘဲ၎င်းသည်ကိုက်ညီမှုပုံစံတစ်ခုစီအတွက်ကွဲပြားသော callback လုပ်ဆောင်ချက်များကိုခေါ်ဆိုနိုင်ပြီးအပြောင်းအလဲနဲ့ယုတ္တိဗေဒကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စေသည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
preg_replace_callback_array(array $patterns_and_callbacks, string $subject);
$ patternals_and_callbacks : array ၏သော့များသည်ပုံမှန်ဖော်ပြချက်ပုံစံများဖြစ်ပြီးတန်ဖိုးများသည်သက်ဆိုင်ရာ callback function များဖြစ်သည်။
$ အကြောင်းအရာ - လုပ်ငန်းများ၌တင်ထားရန်စာသား။
ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်ပိုမိုရှုပ်ထွေးသောအစားထိုးလိုအပ်ချက်များအတွက်အထူးသဖြင့်စာသားအတိုင်းကွဲပြားခြားနားသောဘာသာစကားအမျိုးအစားများကိုကိုင်တွယ်ခြင်းကဲ့သို့သောသင့်လျော်သည်။
0 က်ဘ်အပလီကေးရှင်းများအနေဖြင့်မတူညီသောပုံစံအမျိုးမျိုးတွင် markup ကိုဘာသာစကားများကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်လုပ်ငန်းစဉ်ဘာသာစကားများကိုခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည်။ ဥပမာအားဖြင့် HTML နှင့် Markdown Texist သည်တူညီသောစာမျက်နှာပေါ်တွင်အမှတ်အသားပြုပြီးသို့မဟုတ် Markot ဘာသာစကားများကိုပေါင်းစည်းရန်ပုံစံအဖြစ်ပြောင်းလဲရန်လိုအပ်သည်။ Preg_replace_callback_array ကို အသုံးပြုခြင်းက Markup Language တစ်ခုစီအတွက်သီးခြားချဉ်းကပ်မှုကိုအလွယ်တကူသတ်မှတ်ရန်ခွင့်ပြုသည်။
ကျွန်ုပ်တို့တွင် HTML နှင့် markdown formats များတွင်လင့်ခ်များပါ 0 င်သည့်စာသားရှိသည်ဆိုပါစို့။ ဤကိစ္စတွင်ကျွန်ုပ်တို့သည်ဤကွဲပြားခြားနားသောပုံစံနှစ်မျိုးရှိလင့်ခ်များကိုကိုင်တွယ်ရန် Preg_replace_callback_array ကို သုံးနိုင်သည်။
ပုံမှန်အသုံးအနှုန်းတွေကိုသတ်မှတ်ခြင်း - HTML links အတွက်ပုံမှန်အသုံးအနှုန်းတွေကိုသတ်မှတ်ဖို့လိုတယ်။
အဓိပ္ပာယ်ဖွင့်ဆိုချက် function : အစားထိုးခြင်းအားအကောင်အထည်ဖော်ရန်ပုံမှန်စကားရပ်ဖြင့်လိုက်ဖက်သည့် link format တစ်ခုစီအတွက် callback function ကိုသတ်မှတ်ပါ။
Call Preg_replace_callback_array : ပုံမှန်အသုံးအနှုန်းနှင့်ဖုန်းနံပါတ်ကို preg_replace_callback_array သို့ဖြတ်သန်းပါ။
<?php
// စာသားရိုက်ထည့်ပါ,ပါဝင်HTMLနှင့်Markdownပုံစံချိတ်ဆက်မှု
$text = "ဒါHTMLသံကွင်းဆက်:<a href='http://m66.net/example'>ဤနေရာကိုကလစ်နှိပ်ပါ</a>\nဒါMarkdownသံကွင်းဆက်:[ဤနေရာကိုကလစ်နှိပ်ပါ](http://m66.net/example)";
// 定义正则表达式နှင့်回调函数
$patterns_and_callbacks = [
// ကိုက်ညီHTMLသံကွင်းဆက်
'/<a\s+href=["\'](http[s]?:\/\/m66\.net\/[^\s"\']+)["\'][^>]*>(.*?)<\/a>/' => function ($matches) {
return "HTMLသံကွင်းဆက်:{$matches[2]},URL:{$matches[1]}";
},
// ကိုက်ညီMarkdownသံကွင်းဆက်
'/\[(.*?)\]\(http[s]?:\/\/m66\.net\/([^\)]+)\)/' => function ($matches) {
return "Markdownသံကွင်းဆက်:{$matches[1]},URL:http://m66.net/{$matches[2]}";
}
];
// အသုံးပြုpreg_replace_callback_arrayအစားထိုးပါစေ
$result = preg_replace_callback_array($patterns_and_callbacks, $text);
// အပြောင်းအလဲနဲ့ပြီးနောက်ရလဒ် output
echo $result;
ပထမ ဦး ဆုံးပုံမှန်ဖော်ပြချက်ကို HTML တွင် <a> tag နှင့်ကိုက်ညီရန်နှင့် URL ကိုဖမ်းယူခြင်းနှင့်စာသား link ကိုရိုက်ကူးရန်အသုံးပြုသည်။
ဒုတိယပုံမှန်အကြိမ်ဖော်ပြချက်သည် link များနှင့်ချိတ်ဆက်ခြင်းပုံစံနှင့်ချိတ်ဆက်ခြင်း, link text နှင့် URLs များကိုဖမ်းယူခြင်းနှင့်ကိုက်ညီရန်အသုံးပြုသည်။
ပွဲတစ်ခုစီအတွက် callback function သည် custom format ကိုပြန် ယူ. link ၏စာသားနှင့် URL ကိုထုတ်ယူခြင်း။
ဒါHTMLသံကွင်းဆက်:HTMLသံကွင်းဆက်:ဤနေရာကိုကလစ်နှိပ်ပါ,URL:http://m66.net/example
ဒါMarkdownသံကွင်းဆက်:Markdownသံကွင်းဆက်:ဤနေရာကိုကလစ်နှိပ်ပါ,URL:http://m66.net/example
Preg_replace_callback_arraw သည် အရေးကြီးသောအားသာချက်များကိုပေးသည်။
ပြောင်းလွယ်ပြင်လွယ် - ပုံမှန်စကားရပ်ပုံစံအတွက်မတူညီသော callback လုပ်ဆောင်ချက်များကိုသင်သတ်မှတ်နိုင်သည်။
ထိန်းသိမ်းထားနိုင်မှု - ကွဲပြားသော markup ကိုဘာသာစကားများသို့မတူညီသောလုပ်ဆောင်မှုစည်းမျဉ်းများကိုကျင့်သုံးရန်လိုအပ်ပါကကုဒ်ကိုပိုမိုရှင်းလင်းစွာနှင့်ထိန်းသိမ်းရန်လွယ်ကူသည်။
ထိရောက်မှု - အစားထိုးလုပ်ငန်းများကိုအတူတကွပေါင်းစပ်ခြင်းအားဖြင့်သင်သည်စာသားများပြုပြင်ခြင်းအားလုံးကိုစာသားပြုပြင်ခြင်းတစ်ခုတွင်ဖြည့်စွက်နိုင်သည်။
စျေးကွက်မျိုးများစွာကိုကိုင်တွယ်သောအခါရှုပ်ထွေးသောအခြေအနေများရှိနိုင်သည်။ ဥပမာအားဖြင့် HTML နှင့်အမှတ်အသားကိုအသိုက်တွင်သုံးနိုင်သည်, သို့မဟုတ်တူညီသောစာသားမျိုးစုံပုံစံများပါ 0 င်သည်။ Preg_replace_CAllback_array , ပွဲစဉ်၏တိကျသောပါဝင်မှုအပေါ် အခြေခံ. ကွဲပြားခြားနားသောအစားထိုးမဟာဗျူဟာများကိုပြောင်းလဲနိုင်သည်။
<?php
$text = "ဒါHTMLသံကွင်းဆက်:<a href='http://m66.net/example'>ဤနေရာကိုကလစ်နှိပ်ပါ</a>\nဒါMarkdownသံကွင်းဆက်:[ဤနေရာကိုကလစ်နှိပ်ပါ](http://m66.net/example)";
// 定义正则表达式နှင့်回调函数
$patterns_and_callbacks = [
'/<a\s+href=["\'](http[s]?:\/\/m66\.net\/[^\s"\']+)["\'][^>]*>(.*?)<\/a>/' => function ($matches) {
return "HTMLသံကွင်းဆက်:{$matches[2]},URL:{$matches[1]}";
},
'/\[(.*?)\]\(http[s]?:\/\/m66\.net\/([^\)]+)\)/' => function ($matches) {
return "Markdownသံကွင်းဆက်:{$matches[1]},URL:http://m66.net/{$matches[2]}";
}
];
// အသုံးပြုpreg_replace_callback_arrayအစားထိုးပါစေ
$result = preg_replace_callback_array($patterns_and_callbacks, $text);
// အပြောင်းအလဲနဲ့ပြီးနောက်ရလဒ် output
echo $result;
ဤကုဒ်သည် HTML နှင့် HTML နှင့် HTML နှင့် markdown formats နှင့်ချိတ်ဆက်ခြင်းနှင့်၎င်းတို့အားနောက်ဆက်တွဲအပြောင်းအလဲအတွက် format တစ်ခုအဖြစ် unifies ။
Preg_replace_callback_array သည်ရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုကိုင်တွယ်ရန်အထူးသဖြင့်သင့်တော်သောအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ စာသားတ ဦး တည်းတွင် Markup ဘာသာစကားမျိုးစုံကိုလုပ်ဆောင်ရန်လိုအပ်သည့်အခါ၎င်းသည်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောဖြေရှင်းနည်းများကိုပေးသည်။ ပုံမှန်အသုံးအနှုန်းများနှင့် callback functions များကိုကျိုးကြောင်းဆီလျော်စွာဒီဇိုင်းရေးဆွဲခြင်းဖြင့်ကျွန်ုပ်တို့သည်အမျိုးမျိုးသော markup ဘာသာစကားအမျိုးအစားများကိုအလွယ်တကူ ခွဲခြား. ကိုင်တွယ်နိုင်သည်။