လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရှုပ်ထွေးသောပုံစံများရှိ Markup ဘာသာစကားအမျိုးအစားများကိုကွဲပြားခြားနားသည်

ရှုပ်ထွေးသောပုံစံများရှိ Markup ဘာသာစကားအမျိုးအစားများကိုကွဲပြားခြားနားသည်

M66 2025-06-03

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

1 ။ နိဒါန်း Preg_replace_callback_array သို့ မိတ်ဆက်ပါ

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 များဖြစ်သည်။

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

ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်ပိုမိုရှုပ်ထွေးသောအစားထိုးလိုအပ်ချက်များအတွက်အထူးသဖြင့်စာသားအတိုင်းကွဲပြားခြားနားသောဘာသာစကားအမျိုးအစားများကိုကိုင်တွယ်ခြင်းကဲ့သို့သောသင့်လျော်သည်။

2 ။ ကွဲပြားခြားနားသော markup ဘာသာစကားအမျိုးအစားများကိုကိုင်တွယ်

0 က်ဘ်အပလီကေးရှင်းများအနေဖြင့်မတူညီသောပုံစံအမျိုးမျိုးတွင် markup ကိုဘာသာစကားများကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်လုပ်ငန်းစဉ်ဘာသာစကားများကိုခွဲခြမ်းစိတ်ဖြာရန်လိုအပ်သည်။ ဥပမာအားဖြင့် HTML နှင့် Markdown Texist သည်တူညီသောစာမျက်နှာပေါ်တွင်အမှတ်အသားပြုပြီးသို့မဟုတ် Markot ဘာသာစကားများကိုပေါင်းစည်းရန်ပုံစံအဖြစ်ပြောင်းလဲရန်လိုအပ်သည်။ Preg_replace_callback_array ကို အသုံးပြုခြင်းက Markup Language တစ်ခုစီအတွက်သီးခြားချဉ်းကပ်မှုကိုအလွယ်တကူသတ်မှတ်ရန်ခွင့်ပြုသည်။

ဥပမာ - HTML တွင်လင့်ခ်များကိုအစားထိုးပါ

ကျွန်ုပ်တို့တွင် HTML နှင့် markdown formats များတွင်လင့်ခ်များပါ 0 င်သည့်စာသားရှိသည်ဆိုပါစို့။ ဤကိစ္စတွင်ကျွန်ုပ်တို့သည်ဤကွဲပြားခြားနားသောပုံစံနှစ်မျိုးရှိလင့်ခ်များကိုကိုင်တွယ်ရန် Preg_replace_callback_array ကို သုံးနိုင်သည်။

အဆင့်

  1. ပုံမှန်အသုံးအနှုန်းတွေကိုသတ်မှတ်ခြင်း - HTML links အတွက်ပုံမှန်အသုံးအနှုန်းတွေကိုသတ်မှတ်ဖို့လိုတယ်။

  2. အဓိပ္ပာယ်ဖွင့်ဆိုချက် function : အစားထိုးခြင်းအားအကောင်အထည်ဖော်ရန်ပုံမှန်စကားရပ်ဖြင့်လိုက်ဖက်သည့် link format တစ်ခုစီအတွက် callback function ကိုသတ်မှတ်ပါ။

  3. 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

3 ။ Preg_replace_callback_array အသုံးပြုခြင်း၏အားသာချက်များ

Preg_replace_callback_arraw သည် အရေးကြီးသောအားသာချက်များကိုပေးသည်။

  • ပြောင်းလွယ်ပြင်လွယ် - ပုံမှန်စကားရပ်ပုံစံအတွက်မတူညီသော callback လုပ်ဆောင်ချက်များကိုသင်သတ်မှတ်နိုင်သည်။

  • ထိန်းသိမ်းထားနိုင်မှု - ကွဲပြားသော markup ကိုဘာသာစကားများသို့မတူညီသောလုပ်ဆောင်မှုစည်းမျဉ်းများကိုကျင့်သုံးရန်လိုအပ်ပါကကုဒ်ကိုပိုမိုရှင်းလင်းစွာနှင့်ထိန်းသိမ်းရန်လွယ်ကူသည်။

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

4 ။ markup ဘာသာစကားမျိုးစုံ၏ရှုပ်ထွေးသောအခြေအနေများကိုကိုင်တွယ်ပါ

စျေးကွက်မျိုးများစွာကိုကိုင်တွယ်သောအခါရှုပ်ထွေးသောအခြေအနေများရှိနိုင်သည်။ ဥပမာအားဖြင့် HTML နှင့်အမှတ်အသားကိုအသိုက်တွင်သုံးနိုင်သည်, သို့မဟုတ်တူညီသောစာသားမျိုးစုံပုံစံများပါ 0 င်သည်။ Preg_replace_CAllback_array , ပွဲစဉ်၏တိကျသောပါဝင်မှုအပေါ် အခြေခံ. ကွဲပြားခြားနားသောအစားထိုးမဟာဗျူဟာများကိုပြောင်းလဲနိုင်သည်။

ဥပမာ - html နှင့် markdown တွင်အသိုက် tags နှစ်ခုလုံးကိုကိုင်တွယ်ခြင်း

 <?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 ။

5 ။ အကျဉ်းချုပ်

Preg_replace_callback_array သည်ရှုပ်ထွေးသောပုံမှန်အစားထိုးလုပ်ငန်းများကိုကိုင်တွယ်ရန်အထူးသဖြင့်သင့်တော်သောအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ စာသားတ ဦး တည်းတွင် Markup ဘာသာစကားမျိုးစုံကိုလုပ်ဆောင်ရန်လိုအပ်သည့်အခါ၎င်းသည်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောဖြေရှင်းနည်းများကိုပေးသည်။ ပုံမှန်အသုံးအနှုန်းများနှင့် callback functions များကိုကျိုးကြောင်းဆီလျော်စွာဒီဇိုင်းရေးဆွဲခြင်းဖြင့်ကျွန်ုပ်တို့သည်အမျိုးမျိုးသော markup ဘာသာစကားအမျိုးအစားများကိုအလွယ်တကူ ခွဲခြား. ကိုင်တွယ်နိုင်သည်။