PHP හි රෙගුලාසි ආදේශනයෙන් පොකට් (කර්මාන්ත)

preg_replace ශ්රිතය සමඟ වැඩ කරන විට, අපි රෙගුලාසියේ කිසියම් දෙයක් පොකට් එකකට තැබුවහොත්, ආදේශන නූලේ අපට මෙම පොකට් එකේ අන්තර්ගතය ඇතුළු කළ හැකිය ඩොලර් ලකුණ $ සහ අංකය ලිවීමෙන් පොකට්. උදාහරණයක් වශයෙන්, $0 - ශුන්ය පොකට්, $1 - පළමු පොකට්, $2 - දෙවන පොකට් සහ එසේ ය.

මෙය අවශ්ය වන්නේ ඇයි සහ එය භාවිතා කරන්නේ කෙසේද යන්න අපි බලමු උදාහරණ මත.

උදාහරණය

අපි සියලුම සංඛ්යා සොයා ඒවා වෙනුවට ඇතුළු කරමු මෙම සංඛ්යා, නමුත් curly braces තුළ. මේ සඳහා සොයාගත් සියලුම ඉලක්කම් අපි ආදේශ කරන්නෙමු ඒවා මත, නමුත් curly braces තුළ:

php<?php
  $str = '1 23 456 xax';
  $res = preg_replace('#(\d+)#', '{$1}', $str);
?>

ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:

php'{1} {23} {456} xax'

උදාහරණය

ප්රතිනිරූපණය කරන සියලුම තන්තු අපි සොයා ගනිමු x අකුරු සමඟ සංඛ්යා සහ මේවා ප්රතිස්ථාපනය කරන්න ඒ සංඛ්යා ඒවා මත, නමුත් '!' සංකේත සමඟ:

php<?php
  $str = 'x1x x23x x456x xax';
  $res = preg_replace('#x(\d+)x#', '!$1!', $str);
?>

ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:

php'!1! !23! !456! xax'

උදාහරණය

පහත දැක්වෙන කාර්යය විසඳමු: පෝරමයේ තන්තු ලබා දී ඇත 'aaa@bbb' - අකුරු, පසුව @ ලකුණ, පසුව අකුරු. අපි අකුරු හුවමාරු කළ යුතුයි '@' ට පෙර සහ පසු. අපි ක්රියාත්මක කරමු:

php<?php
  $str = 'aaa@bbb ccc@ddd';
  $res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str);
?>

ප්රතිඵලයක් වශයෙන්, විචල්යයට පහත දේ ලියා ඇත:

php'bbb@aaa ddd@ccc'

ප්රායෝගික කාර්යයන්

Задание 1

තන්තුවක් ලබා දී ඇත:

php<?php
  $str = '12 34 56 78';
?>

සියලුම ඉලක්කම් දෙකේ සංඛ්යා වල ඉලක්කම් හුවමාරු කරන්න.

Задание 2

දිනයක් සහිත තන්තුවක් ලබා දී ඇත:

php<?php
  $str = '31.12.2025';
?>

මෙම දිනය '2025.12.31' බවට පරිවර්තනය කරන්න.