preg_split

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_splitDizgeyi düzenli ifadeye göre böler

Açıklama

preg_split(
    string$şablon,
    string$konu,
    int$sınır = -1,
    int$seçenekler = 0
): array|false

Belirtilen dizgeyi belirtilen düzenli ifadeye göre parçalara ayırır.

Bağımsız Değişkenler

şablon

Bir dizge olarak aranacak şablon.

konu

Parçalara ayrılacak dizge.

sınır

Belirtildiği takdirde sadece sınır sayıda alt dizge döner. sınır olarak -1 veya null belirtilmişse herhangi bir sayı sınırlaması yok demektir.

seçenekler

seçenekler olarak, bit seviyesinde VEYA ( | ) işleci ile birleştirilerek şunlar belirtilebilir:

PREG_SPLIT_NO_EMPTY
Etkin olduğunda işlev tarafından sadece boş olmayan parçalar döndürülür.
PREG_SPLIT_DELIM_CAPTURE
Etkin olduğunda şablon içindeki yaylı ayraçlı ifade yakalanıp döndürülür.
PREG_SPLIT_OFFSET_CAPTURE

Etkin olduğunda, eşleşmenin olduğu son dizgenin başlangıç konumu da döndürülür. Bu seçenek dönen dizideki değeri değiştirir. Dizideki her eleman, 0 indisinde eşleşen alt dizge, 1 indisinde ise alt dizgenin konu içindeki başlangıcını içeren bir diziden oluşur.

Dönen Değerler

konu dizgesinin şablon ile eşleşen parçalarını içeren bir dizi, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - preg_split() örneği

<?php
// Cümleyi virgül ve boşluk (" ", \r, \t, \n ve \f)
// karakterlerine göre parçalar.
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>

Yukarıdaki örneğin çıktısı:

Array ( [0] => hypertext [1] => language [2] => programming )

Örnek 2 - Bir dizgeyi karakterlerine bölmek

<?php
$str
= 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Yukarıdaki örneğin çıktısı:

Array ( [0] => s [1] => t [2] => r [3] => i [4] => n [5] => g )

Örnek 3 - Bir dizgeyi sözcüklerine ayırıp başlangıçlarıyla döndürmek

<?php
$str
= 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

Yukarıdaki örneğin çıktısı:

Array ( [0] => Array ( [0] => hypertext [1] => 0 ) [1] => Array ( [0] => language [1] => 10 ) [2] => Array ( [0] => programming [1] => 19 ) )

Notlar

İpucu

Düzenli ifadelerin gücünün gerekli olmadığı durumlar için explode(), str_split() işlevleri daha kullanışlı olabilir.

İpucu

Eşleşme başarısız olursa girdi dizgesini içeren tek öğeli bir dizi döner.

Ayrıca Bakınız

To Top