রেগুলার এক্সপ্রেশনের মাধ্যমে প্রতিস্থাপনে পকেট PHP-তে
preg_replace ফাংশন নিয়ে কাজ করার সময়,
যদি আমরা রেগুলার এক্সপ্রেশনে কোনো কিছু পকেটে রাখি,
তবে প্রতিস্থাপন স্ট্রিং-এ আমরা ডলার চিহ্ন $ এবং পকেটের নম্বর লিখে
এই পকেটের বিষয়বস্তু সন্নিবেশ করতে পারি।
উদাহরণস্বরূপ, $0 - শূন্যতম পকেট,
$1 - প্রথম পকেট, $2 - দ্বিতীয়
পকেট এবং আরও অনুরূপ।
এটি কেন প্রয়োজন এবং কীভাবে এটি ব্যবহার করা যাক আসুন উদাহরণের মাধ্যমে দেখি।
উদাহরণ
আসুন সমস্ত সংখ্যা খুঁজে বের করি এবং তাদের পরিবর্তে একই সংখ্যাগুলি, কিন্তু কোঁকড়া বন্ধনীতে সন্নিবেশ করি। এর জন্য পাওয়া সমস্ত সংখ্যাকে আমরা প্রতিস্থাপন করব নিজেদের উপর, কিন্তু কোঁকড়া বন্ধনীতে:
<?php
$str = '1 23 456 xax';
$res = preg_replace('#(\d+)#', '{$1}', $str);
?>
ফলস্বরূপ ভেরিয়েবলে নিম্নলিখিতটি লেখা হবে:
'{1} {23} {456} xax'
উদাহরণ
আসুন সমস্ত স্ট্রিং খুঁজে বের করি, যা
চারপাশে iks সহ সংখ্যা উপস্থাপন করে এবং এই
সংখ্যাগুলিকে নিজেদের দ্বারা প্রতিস্থাপন করি, কিন্তু '!' চিহ্ন দিয়ে চারপাশে:
<?php
$str = 'x1x x23x x456x xax';
$res = preg_replace('#x(\d+)x#', '!$1!', $str);
?>
ফলস্বরূপ ভেরিয়েবলে নিম্নলিখিতটি লেখা হবে:
'!1! !23! !456! xax'
উদাহরণ
আসুন নিম্নলিখিত কাজটি সমাধান করি: ফর্মের স্ট্রিং দেওয়া আছে
'aaa@bbb' - অক্ষর, তারপর @ চিহ্ন,
তারপর অক্ষর। অক্ষরগুলি অদলবদল করা প্রয়োজন
'@' এর আগে এবং পরে। বাস্তবায়ন করা যাক:
<?php
$str = 'aaa@bbb ccc@ddd';
$res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str);
?>
ফলস্বরূপ ভেরিয়েবলে নিম্নলিখিতটি লেখা হবে:
'bbb@aaa ddd@ccc'
ব্যবহারিক কাজ
একটি স্ট্রিং দেওয়া হয়েছে:
<?php
$str = '12 34 56 78';
?>
সমস্ত দুই-অঙ্কের সংখ্যায় অঙ্কগুলি অদলবদল করুন।
তারিখ সহ একটি স্ট্রিং দেওয়া হয়েছে:
<?php
$str = '31.12.2025';
?>
এই তারিখটি '2025.12.31' এ রূপান্তর করুন।