လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> preg_replace_callback_array နှင့်အတူပုံမှန် modes မျိုးစုံကိုတစ်ပြိုင်နက်ကိုင်တွယ်ပုံ?

preg_replace_callback_array နှင့်အတူပုံမှန် modes မျိုးစုံကိုတစ်ပြိုင်နက်ကိုင်တွယ်ပုံ?

M66 2025-05-17

String Replacement နှင့်ကိုင်တွယ်ဖြေရှင်းသည့်အခါ PHP ၏ Preg_replace_Callback () function သည်ကိုက်ညီမှုရှိသောရလဒ်များကို callback function မှတဆင့်လုပ်ဆောင်နိုင်သည်။ အကယ်. သင့်တွင်မတူညီသောပုံမှန်အသုံးအနှုန်းမျိုးစုံရှိပါကမတူညီသောယုတ္တိဗေဒဆိုင်ရာယုတ္တိဗေဒနှင့်အတူလုပ်ဆောင်ရန်လိုအပ်သည်။ Preg_replace_callback_array () သည်သင်၏စံပြရွေးချယ်မှုဖြစ်သည်။

PHP 7 တွင် Preg_replace_callback_Array () သည် ပုံမှန်ပုံစံများကိုသတ်မှတ်ရန်နှင့်၎င်းတို့၏သက်ဆိုင်ရာ callback functack ကို actiretive array ပုံစံဖြင့်သတ်မှတ်ရန်လှပသောနည်းလမ်းတစ်ခုကိုပေးသည်။

ဤဆောင်းပါးသည်သင့်အား၎င်းတို့၏အသုံးပြုမှုအားဖြင့်သင့်ကိုခေါ်ဆောင်သွားပြီးကိုက်ညီသောယုတ္တိဗေဒကိုဥပမာများနှင့်တစ်ပြိုင်တည်းကိုင်တွယ်ရမည်ကိုပြသမည်။

အခြေခံ syntax

 preg_replace_callback_array(array $patterns_and_callbacks, string $subject, int $limit = -1, int &$count = null): string|array|null
  • $ patternals_and_callbacks ဆိုသည်မှာ Associative Array ဖြစ်ပြီးသော့သည်ပုံမှန်စကားရပ်ဖြစ်သည်။

  • $ အကြောင်းအရာ သည်လုပ်ငန်းများ၌ပြုလုပ်ရန် string ကိုဖြစ်သည်။

ဥပမာ - လင့်ခ်နှင့်အီးမေးလ်လိပ်စာကိုတစ်ချိန်တည်းတွင်အစားထိုးပါ

ကျွန်ုပ်တို့သည်စာသားထဲရှိ link နှင့်အီးမေးလ်လိပ်စာကိုခွဲခြားသတ်မှတ်လိုပါက <a> tag ထဲသို့ link ကိုခြုံပြီး mailto: mailto: mailto: mailto: အီးမေးလ်လိပ်စာသို့ထည့်ပါ။

 $text = <<<EOT
ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည် http://m66.net/page,သင်လည်းအီးမေးလ်တစ်စောင်ပို့နိုင်သည် support@m66.net ညှိနှုင်းတိုင်ပင်。
EOT;

$result = preg_replace_callback_array([
    // ကိုင်တွယ်ဖြေရှင်းသည် URL
    '/\bhttps?:\/\/[^\s]+/i' => function ($matches) {
        $url = htmlspecialchars($matches[0]);
        return "<a href=\"{$url}\">{$url}</a>";
    },
    // ကိုင်တွယ်ဖြေရှင်းသည်邮箱地址
    '/[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}/i' => function ($matches) {
        $email = htmlspecialchars($matches[0]);
        return "<a href=\"mailto:{$email}\">{$email}</a>";
    }
], $text);

echo $result;

ရလဒ်ရလဒ် -

 ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည် <a href="http://m66.net/page">http://m66.net/page</a>,သင်လည်းအီးမေးလ်တစ်စောင်ပို့နိုင်သည် <a href="mailto:support@m66.net">support@m66.net</a> ညှိနှုင်းတိုင်ပင်。

ကြည့်ရှုပါ

Preg_replace_callback_array () သည်အထူးပြုလုပ်ရန်အထူးသဖြင့်သင့်လျော်သည်။

  • markdown, bbcode, စိတ်ကြိုက် syntax စသည့်အမျိုးမျိုးသောစာသားခွဲခြမ်းစိတ်ဖြာခြင်းစသည်တို့။ ;

  • မျိုးစုံပုံစံများ၏ဖော်ထုတ်ခြင်းနှင့်အစားထိုး;

  • ရှုပ်ထွေးသောစာသားတွင်အမျိုးမျိုးသောအဆောက်အအုံများကိုပြုပြင်သောအခါ readability နှင့်ပြုပြင်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်။

အကြံပေးချက်များ

  1. ပုံမှန်အသုံးအနှုန်းများ၏အမိန့်သည်အရေးကြီးပြီးယခင်စည်းမျဉ်းများကို ဦး စွာကွပ်မျက်ခံရလိမ့်မည်။

  2. XSS တိုက်ခိုက်မှုများကိုရှောင်ရှားရန် htmlspecialchars () ကိုသုံးပါ။

  3. PHP ၏ PCRE စာကြည့်တိုက်သည်ပိုမိုမြင့်မားသောဗားရှင်းများတွင်ပိုမိုအစွမ်းထက်ပြီး PHP 7.1+ ကိုအသုံးပြုရန်အကြံပြုသည်။

အကျဉ်းချုပ်

Preg_replace_callback_array () ကို အသုံးပြုခြင်းသည်ပုံမှန်ပုံစံများနှင့်၎င်းတို့၏သက်ဆိုင်ရာလုပ်ဆောင်မှုနည်းလမ်းများကိုပိုမိုရှင်းလင်းစွာသတ်မှတ်နိုင်ပြီးရှင်းလင်းသောကုဒ်ဖွဲ့စည်းပုံနှင့်ပိုမိုယုတ္တိရှိရှိခွဲခြားခြင်းဖြင့်အလွယ်တကူသတ်မှတ်နိုင်သည်။ ၎င်းသည်စာသားပြုပြင်ခြင်းအတွက်အစွမ်းထက်။ underrated tool တစ်ခုဖြစ်သည်။

၎င်းကိုကျွမ်းကျင်သည်သင်၏ code ကို ပို. ကြော့ရှင်းစေရုံသာမကဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုသိသိသာသာတိုးတက်စေသည်။