200 of 410 menu

Fonksiyon preg_match_all

preg_match_all fonksiyonu bir dizede global desen araması yapar. İlk parametreye düzenli ifade, ikinci parametreye arama yapılacak dize, üçüncü parametreye sonuçların kaydedileceği dizi iletilir. Dördüncü isteğe bağlı parametre döndürülecek yapının türünü belirler, beşinci isteğe bağlı parametre ise aramanın başlangıç ofsetidir.

Sözdizimi

preg_match_all(pattern, subject, matches, [flags], [offset]);

Bayraklar

Dördüncü parametrenin hangi değerleri alabileceğine bir göz atalım:

Parametre Açıklama
PREG_PATTERN_ORDER Varsayılan mod. Sonuçlar gruplara göre düzenlenir - dizinin sıfırıncı elemanı sıfırıncı grupları içerir, dizinin birinci elemanı birinci grupları içerir ve bu şekilde devam eder.
PREG_SET_ORDER Sonuçlar eşleşmelere göre gruplanır - dizinin her elemanı bulunan grupları içeren bir dizi içerir.
PREG_OFFSET_CAPTURE Her eşleşme için dizideki konum döndürülür. Her sonuç, sıfırıncı elemanın eşleşmeyi, birincinin ise ofsetini içerdiği bir dizidir.
PREG_UNMATCHED_AS_NULL Eşleşmeyen gruplar boş dizeler yerine null olarak döndürülür.

Örnek

Bir dizedeki tüm rakamları bulalım:

<?php $str = 'abc 123 def 456'; preg_match_all('/\d+/', $str, $res); var_dump($res[0]); ?>

Kodun çalıştırılma sonucu:

['123', '456']

Örnek

Bir dizedeki tüm 'a' harflerini bulalım:

<?php $str = 'banana'; preg_match_all('/a/', $str, $res); var_dump($res[0]); ?>

Kodun çalıştırılma sonucu:

['a', 'a', 'a']

Örnek

Bir dizeden tüm zaman damgalarını ve bileşenlerini çıkaralım:

<?php $time = '12:01:02 13:03:04 14:05:06'; preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res); var_dump($res); ?>

Kodun çalıştırılma sonucu:

[ 0 => ['12:01:02', '13:03:04', '14:05:06'], 1 => ['12', '13', '14'], 2 => ['01', '03', '05'], 3 => ['02', '04', '06'] ]

Örnek

Şimdi de eşleşmelere göre gruplama için PREG_SET_ORDER bayrağını kullanalım:

<?php $time = '12:01:02 13:03:04 14:05:06'; preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res, PREG_SET_ORDER); var_dump($res); ?>

Kodun çalıştırılma sonucu:

[ 0 => '12:01:02', 1 => '12', 2 => '01', 3 => '02' ], [ 0 => '13:03:04', 1 => '13', 2 => '03', 3 => '04' ], [ 0 => '14:05:06', 1 => '14', 2 => '05', 3 => '06' ]

Ayrıca bakınız

  • ilk eşleşmeyi bulan preg_match
    fonksiyonu
  • düzenli ifade ile arama ve değiştirme yapan preg_replace
    fonksiyonu
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