(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.
ş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
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, 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.