(PHP 4, PHP 5, PHP 7, PHP 8)
preg_split — Dizgeyi düzenli ifadeye göre böler
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 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_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, başarısızlık durumunda false döner.
Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse
bir E_WARNING çıktılanır.
Ö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
)
)
Düzenli ifadelerin gücünün gerekli olmadığı durumlar için explode(), str_split() işlevleri daha kullanışlı olabilir.
Eşleşme başarısız olursa girdi dizgesini içeren tek öğeli bir dizi döner.