⊗ppPmRgRP 253 of 447 menu

Düzenli ifadelerle değiştirme işlemlerinde cepler (capture groups) PHP'de

preg_replace fonksiyonu ile çalışırken, eğer regex içinde bir şeyi bir cepte (capture group) yakalarsak, değiştirme dizgisinde, dolar işareti $ ve cebin numarasını yazarak bu cebin içeriğini ekleyebiliriz. Örneğin, $0 - sıfırıncı cep (tüm eşleşme), $1 - birinci cep, $2 - ikinci cep ve bu şekilde devam eder.

Bunun ne işe yaradığını ve nasıl kullanıldığını örnekler üzerinden inceleyelim.

Örnek

Tüm sayıları bulalım ve onların yerine aynı sayıları, ancak süslü parantezler içinde ekleyelim. Bunun için bulunan tüm sayıları, kendileriyle ancak süslü parantezler içinde değiştireceğiz:

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

Sonuç olarak değişkene aşağıdaki yazılacaktır:

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

Örnek

Etrafında 'x' ler bulunan sayı dizilerini bulalım ve bu sayıları, kendileriyle ancak '!' işaretleri içinde değiştirelim:

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

Sonuç olarak değişkene aşağıdaki yazılacaktır:

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

Örnek

Şu görevi çözelim: 'aaa@bbb' formatında dizeler verilsin - harfler, sonra @ işareti, sonra tekrar harfler. @ işaretinden önceki ve sonraki harflerin yerlerini değiştirmemiz gerekiyor. Şu şekilde gerçekleştirelim:

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

Sonuç olarak değişkene aşağıdaki yazılacaktır:

'bbb@aaa ddd@ccc'

Pratik Görevler

Bir dize verilsin:

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

Tüm iki basamaklı sayılardaki rakamların yerlerini değiştirin.

Bir tarih dizesi verilsin:

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

Bu tarihi '2025.12.31' formatına dönüştürün.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet