PHP တွင် Delimiters များအား Escaping လုပ်ခြင်း

သင်္ကေတတစ်ခုသည် အထူးသင်္ကေတမဟုတ်ပါက၊ သင်သည် ၎င်းကို delimiter အဖြစ်အသုံးပြုသည့်အခါ၊ regex အတွင်းတွင် ၎င်းကို escaping လုပ်ရန် လိုအပ်ပါမည်။ ဥပမာတစ်ခုဖြင့် ကြည့်ရှုပါမည်။

ကျွန်ုပ်တို့၏ delimiters များအဖြစ် hash သင်္ကေတများ (#) ကို အသုံးပြုပြီး၊ regex အတွင်းတွင် ampersand (&) သင်္ကေတကို ရှာဖွေသည်ဆိုပါစို့။ Ampersand သည် အထူးသင်္ကေတ (special character) မဟုတ်သောကြောင့်၊ ကျွန်ုပ်တို့သည် ၎င်းကို escaping မလုပ်ပါ။

php<?php
  echo preg_replace('#a&b#', '!', 'a&b'); // '!' ကို ထုတ်ပြမည်
?>

ယခု delimiters များသည် ampersands (&) များဖြစ်ပြီး regex အတွင်းတွင် ampersand တစ်ခုလည်း လိုအပ်သည်ဆိုပါစို့။ ထိုသို့သောအခြေအနေတွင် အတွင်းရှိ ampersand ကို escaping လုပ်ရန် လိုအပ်ပါသည်၊ သို့မဟုတ်ပါက ၎င်းသည် PHP အမှား (error) ကို ဖြစ်စေမည်။

php<?php
  echo preg_replace('&a\&b&', '!', 'a&b'); // '!' ကို ထုတ်ပြမည်
?>
Задание 1

အောက်ပါကုဒ်တွင် ကျူးလွန်ထားသော အမှားကို ပြင်ဆင်ပါ။

php<?php
  echo preg_replace('#a#b#', '!', 'a#b');
?>