Regulyar ifadələrlə əvəzetmədə ciblər PHP-də
preg_replace funksiyası ilə işləyərkən,
əgər biz regulyar ifadədə bir şeyi cibə qoysaq,
onda əvəzetmə sətirində biz bu cibin məzmununu
dollar işarəsi $ və cibin nömrəsini yazmaqla
daxil edə bilərik. Məsələn, $0 - sıfırıncı cib,
$1 - birinci cib, $2 - ikinci
cib və s.
Bunun nə üçün lazım olduğunu və necə istifadə edildiyini nümunələr üzərində nəzərdən keçirək.
Nümunə
Gəlin bütün rəqəmləri tapaq və onların yerinə eyni rəqəmləri, lakin qıvrım mötərizədə yerləşdirək. Bunun üçün tapılan bütün rəqəmləri onların özü ilə, lakin qıvrım mötərizədə əvəz edəcəyik:
<?php
$str = '1 23 456 xax';
$res = preg_replace('#(\d+)#', '{$1}', $str);
?>
Nəticədə dəyişənə aşağıdakı yazılacaq:
'{1} {23} {456} xax'
Nümunə
Gəlin ətrafında 'x' olan bütün rəqəm sətirlərini
tapaq və bu rəqəmləri onların özü ilə, lakin
ətrafında '!' işarələri olmaqla əvəz edək:
<?php
$str = 'x1x x23x x456x xax';
$res = preg_replace('#x(\d+)x#', '!$1!', $str);
?>
Nəticədə dəyişənə aşağıdakı yazılacaq:
'!1! !23! !456! xax'
Nümunə
Gəlin aşağıdakı məsələni həll edək: 'aaa@bbb'
formatında sətirlər verilib - hərflər, sonra @ işarəsi,
sonra hərflər. '@' işarəsindən əvvəlki və sonrakı
hərfləri yer dəyişdirmək lazımdır. Həyata keçirək:
<?php
$str = 'aaa@bbb ccc@ddd';
$res = preg_replace('#([a-z]+)@([a-z]+)#', '$2@$1', $str);
?>
Nəticədə dəyişənə aşağıdakı yazılacaq:
'bbb@aaa ddd@ccc'
Praktiki tapşırıqlar
Sətir verilib:
<?php
$str = '12 34 56 78';
?>
Bütün iki rəqəmli ədədlərdə rəqəmlərin yerini dəyişin.
Tarixi olan sətir verilib:
<?php
$str = '31.12.2025';
?>
Bu tarixi '2025.12.31' formatına çevirin.