PHP-dä regulýar çalşymalary üsti bilen çalşmakda käpleri
preg_replace funksiýasy bilen işleýärkä,
eger regulýar ifadede bir zatny kapa goýan bolsak,
çalşma setirinde bu kapyň mazmunyny goýmak üçin
dollar bellik $ we kapyň nomerini ýazyp bileris.
Mysal üçin, $0 - nol inçi kap,
$1 - birinji kap, $2 - ikinji
kap we şuňuň ýaly.
Bu näme üçin gerek we ony nädip ulanmalydygyny mysallar bilen göreliň.
Mysal
Geliň ähli sanlary tapalyň we olaryň ýerine şol sanlary, ýöne äýnekli möýnjiçelerde goýalyň. Buny üçin tapylan ähli sanlary öz ýerine, ýöne äýnekli möýnjiçelerde çalşarys:
<?php
$str = '1 23 456 xax';
$res = preg_replace('#(\d+)#', '{$1}', $str);
?>
Netijede üýtgeýjä aşakdaky ýazylar:
'{1} {23} {456} xax'
Mysal
Geliň ähli setirleri tapalyň, olar
özekleri bilen aýlanan sanlary aňladýar
we bu sanlary öz ýerine, ýöne '!' bellikleri bilen aýlanan çalyşdyryň:
<?php
$str = 'x1x x23x x456x xax';
$res = preg_replace('#x(\d+)x#', '!$1!', $str);
?>
Netijede üýtgeýjä aşakdaky ýazylar:
'!1! !23! !456! xax'
Mysal
Geliň aşakdaky meseläni çözeliň: 'aaa@bbb' görnüşindäki setirler berlen
- harp, soňra it, soňra harp.
'@' we soňky öňki harplary çalşmaly.
Amala aşyryň:
<?php
$str = 'aaa@bbb ccc@ddd';
$res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str);
?>
Netijede üýtgeýjä aşakdaky ýazylar:
'bbb@aaa ddd@ccc'
Amaly meseläler
Setir berlen:
<?php
$str = '12 34 56 78';
?>
Iki sanly ähli sanlaryň sanlaryny çalşyryň.
Sene bilen setir berlen:
<?php
$str = '31.12.2025';
?>
Bu senäni '2025.12.31' görnüşine öwüriň.