PHP-তে ডিলিমিটার এস্কেপ করা
যদি একটি অক্ষর বিশেষ না হয়, তাহলে, আপনি যখন এটিকে ডিলিমিটার হিসাবে ব্যবহার করবেন, আপনাকে রেগুলার এক্সপ্রেশন本身的 এটিকে এস্কেপ করতে হবে। আসুন একটি উদাহরণ দিয়ে দেখি।
ধরুন আমাদের ডিলিমিটার হিসাবে হ্যাশ চিহ্ন (#) ব্যবহার করা হয়েছে, এবং রেগুলার এক্সপ্রেশনের ভিতরে আমরা একটি এম্পারস্যান্ড চিহ্ন (&) খুঁজছি। যেহেতু এম্পারস্যান্ড একটি বিশেষ অক্ষর নয়, তাই আমরা এটিকে এস্কেপ করি না:
<?php
echo preg_replace('#a&b#', '!', 'a&b'); // আউটপুট দেবে '!'
?>
এখন ধরুন ডিলিমিটার হল এম্পারস্যান্ড এবং রেগুলার এক্সপ্রেশনের ভিতরে আমাদের একটি এম্পারস্যান্ডও দরকার। এক্ষেত্রে, ভিতরের এম্পারস্যান্ডটিকে এস্কেপ করতে হয়, নতুবা এটি PHP-তে একটি ত্রুটি সৃষ্টি করবে:
<?php
echo preg_replace('&a\&b&', '!', 'a&b'); // আউটপুট দেবে '!'
?>
নিচের কোডে করা ভুলটি সংশোধন করুন:
<?php
echo preg_replace('#a#b#', '!', 'a#b');
?>