လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စိတ်ကြိုက် tag များကို HTML element များသို့ပြောင်းပါ

စိတ်ကြိုက် tag များကို HTML element များသို့ပြောင်းပါ

M66 2025-05-17

PHP တွင် PREG_RESTER_CALLESTER_CALLASK_ARARAY function သည်ပုံမှန်ဖော်ပြချက်သည်တိကျသောပုံစံနှင့်ကိုက်ညီသည့်အခါအစားထိုးရန် callback function ကိုလုပ်ဆောင်သောအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ရှုပ်ထွေးသော string အစားထိုးခြင်းလုပ်ငန်းများကိုကိုင်တွယ်နိုင်သည်, အထူးသဖြင့်သင်ပုံစံများနှင့် callback function များကိုကိုင်တွယ်လိုပါက၎င်းသည်ပိုမိုတိကျသောနှင့်ထိရောက်သောနည်းကိုထောက်ပံ့ပေးသည်။

Custom tags များကို HTML element များသို့ပြောင်းလဲရန် Preg_replace_callback_array ကို မည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။ ကျွန်ုပ်တို့တွင် SuperT_TAG] နှင့် ဆင်တူ သည့်ပုံစံနှင့်အတူစိတ်ကြိုက် tag တစ်ခုရှိသည်ဆိုပါစို့။

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

ပထမ ဦး စွာကျွန်ုပ်တို့သည် Preg_reTholare_callback_array ၏အခြေခံအသုံးပြုမှုကိုနားလည်ရန်လိုအပ်သည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

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

  • $ အကြောင်းအရာ - ကိုက်ညီရန်နှင့်အစားထိုးရန် input string ကိုဖြစ်ပါတယ်။

2 ။ ထုံးစံအတိုင်း tags များနှင့် HTML element mappings ကိုသတ်မှတ်ပါ

ကျွန်ုပ်တို့၏တာဝန်မှာအောက်ပါဓလေ့ထုံးစံ tags များကို HTML element များသို့ပြောင်းလဲရန်ဖြစ်သည်ဆိုပါစို့။

  • [Custom_tag] <div class = "စိတ်ကြိုက်-tag"> tag ကိုပြောင်းပါ

  • [twoTag] <span class = "အခြား-tag"> tag ကိုပြောင်းပါ

3 ။ သင်္ကေတများကိုအကောင်အထည်ဖော်ပါ

နောက်တစ်ခုက code ကို Preg_replace_callback_array ကိုသုံးပြီးဒီအသွင်ပြောင်းမှုကိုဖြည့်စွက်ဖို့ကုဒ်ကိုရေးတယ်။

 <?php
// string ကိုရိုက်ထည့်ပါ,စိတ်ကြိုက် tags များပါဝင်သည်
$input_string = "ဒါကပါ 0 င်သည်[custom_tag]ကပ်တံဆိပ်[/custom_tag]နှင့်[another_tag]ကပ်တံဆိပ်[/another_tag]ရာထူးဥပမာ。";

// 定义正则表达式နှင့်回调函数
$patterns_and_callbacks = [
    '/\[custom_tag\](.*?)\[\/custom_tag\]/s' => function ($matches) {
        return "<div class='custom-tag'>" . htmlspecialchars($matches[1]) . "</div>";
    },
    '/\[another_tag\](.*?)\[\/another_tag\]/s' => function ($matches) {
        return "<span class='another-tag'>" . htmlspecialchars($matches[1]) . "</span>";
    }
];

// အသုံးပြု preg_replace_callback_array အစားထိုးပါစေ
$result = preg_replace_callback_array($patterns_and_callbacks, $input_string);

// ရလဒ်ရလဒ်
echo $result;
?>

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

  • PREG_RESTER_CALLASTBACK_ARARY ၏ပထမဆုံး pareter သည်ပုံမှန်အသုံးအနှုန်းများနှင့်သက်ဆိုင်ရာ callback လုပ်ဆောင်ချက်များပါ 0 င်သည့် activity ခင်းကျင်းမှုတစ်ခုဖြစ်သည်။ ပုံမှန်စကားရပ်သည် [custom_tag] သို့မဟုတ် [အခြား twag] tag နှင့်ကိုက်ညီသည့်အခါသက်ဆိုင်ရာ callback function ကိုဟုခေါ်သည်။

  • Callback function တွင် XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် tag အကြောင်းအရာများမှလွတ်မြောက်ရန် htmlspecialchars function ကိုအသုံးပြုသည်။

  • နောက်ဆုံးအနေဖြင့်မူရင်းထုံးစံအတိုင်း tag ကို callback function မှပြန်လာသော HTML element ဖြင့်အစားထိုးသည်။

5 ။ Execution ရလဒ်များ

input ကို string ကိုဖြစ်ပါတယ်ဟုယူဆ:

 ဒါကပါ 0 င်သည်[custom_tag]ကပ်တံဆိပ်[/custom_tag]နှင့်[another_tag]ကပ်တံဆိပ်[/another_tag]ရာထူးဥပမာ。

အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် output ကိုဖြစ်လိမ့်မည်။

 ဒါကပါ 0 င်သည်<div class='custom-tag'>ကပ်တံဆိပ်</div>နှင့်<span class='another-tag'>ကပ်တံဆိပ်</span>ရာထူးဥပမာ。

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

Preg_replace_callback_array သည်ပုံမှန်အစားထိုးလုပ်ငန်းမျိုးစုံလိုအပ်သောအခြေအနေများလိုအပ်သည့်အခြေအနေများကိုရိုးရှင်းလွယ်ကူစေသောအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ဤဥပမာတွင် Custom tags [custom_tag] နှင့် [Test_tag ] နှင့် [Test_tag] နှင့် HTML elements < compute tags များကိုအောင်မြင်စွာပြောင်းလဲခဲ့သည်။

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