(PHP 4, PHP 5, PHP 7)
preg_split — Dizgeyi düzenli ifadeye göre böler
$şablon
, string $konu
[, int $sınır
= -1
[, int $seçenekler
= 0
]] )Belirtilen dizgeyi belirtilen düzenli ifadeye göre parçalara ayırır.
ş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, 0 veya NULL
belirtilmişse herhangi bir sayı sınırlaması yok demektir ve genellikle
seçenekler
değiştirgesinin belirtilmesinin
gerekli olduğu durumlarda kullanılır.
seçenekler
seçenekler
olarak, bit seviyesinde VEYA ( | )
işleci ile birleştirilerek şunlar belirtilebilir:
PREG_SPLIT_NO_EMPTY
PREG_SPLIT_DELIM_CAPTURE
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.
konu
dizgesinin şablon
ile
eşleşen parçalarını içeren bir dizi döner.
Sürüm: | Açıklama |
---|---|
4.3.0 |
PREG_SPLIT_OFFSET_CAPTURE eklendi.
|
4.0.5 |
PREG_SPLIT_DELIM_CAPTURE eklendi.
|
4.0.0 |
seçenekler değiştirgesi eklendi.
|
Ö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");
?>
Örnek 2 - Bir dizgeyi karakterlerine bölmek
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
Ö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 ) )
Düzenli ifadelerin gücünün gerekli olmadığı durumlar için explode(), str_split() işlevleri daha kullanışlı olabilir.