(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.
şablonBir dizge olarak aranacak şablon.
konuParç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_EMPTYPREG_SPLIT_DELIM_CAPTUREPREG_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.