Mifuko Wakati wa Kubadilisha Kupitia Regular Expressions kwenye PHP
Wakati wa kufanya kazi na kitendo preg_replace,
kama tutakiweka kitu katika mfuko kwenye usemi wa kawaida,
basi kwenye mstari wa badala tunaweza kuingiza yaliyomo
ya mfuko huu kwa kuandika ishara ya dola $ na nambari
ya mfuko. Kwa mfano, $0 - mfuko wa sifuri,
$1 - mfuko wa kwanza, $2 - mfuko wa pili
na kadhalika.
Hii inahitajika kwa nini na jinsi ya kuitumia hebu tuangalie kwenye mifano.
Mfano
Hebu tupate nambari zote na badala yake tuingize hizo nambari hizi, lakini kwenye mabano ya kunyoosha. Kwa hili nambari zote zilizopatikana tutazibadilisha na nazo zenyewe, lakini kwenye mabano ya kunyoosha:
<?php
$str = '1 23 456 xax';
$res = preg_replace('#(\d+)#', '{$1}', $str);
?>
Matokeo yake kwenye kutofautisha kitaandikwa yafuatayo:
'{1} {23} {456} xax'
Mfano
Hebu tupate mistari yote, inayowakilisha
nambari zenye iksi zunguka na tubadilishe hizi
nambari kwa zao zenyewe, lakini zenye '!' ishara zunguka:
<?php
$str = 'x1x x23x x456x xax';
$res = preg_replace('#x(\d+)x#', '!$1!', $str);
?>
Matokeo yake kwenye kutofautisha kitaandikwa yafuatayo:
'!1! !23! !456! xax'
Mfano
Hebu tutatue tatizo lifuatalo: kuna mistari
ya aina 'aaa@bbb' - herufi, kisha mbwa mwitu,
kisha herufi. Inahitajika kubadilishana maeneo ya herufi
kabla ya '@' na baada. Tutatekeleza:
<?php
$str = 'aaa@bbb ccc@ddd';
$res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str);
?>
Matokeo yake kwenye kutofautisha kitaandikwa yafuatayo:
'bbb@aaa ddd@ccc'
Kazi za Vitendo
Kuna mstari:
<?php
$str = '12 34 56 78';
?>
Badilishana maeneo ya tarakimu kwenye nambari zote zenye tarakimu mbili.
Kuna mstari wenye tarehe:
<?php
$str = '31.12.2025';
?>
Badilisha tarehe hii kuwa '2025.12.31'.