(PHP 7, PHP 8)
preg_replace_callback_array — Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar
$şablon,$konu,$sınır = -1,&$sayı = null,$seçenekler = 0Her şablon için ayrı bir geriçağırım işlevi çağrılması dışında preg_replace_callback() işlevi gibidir.
şablonŞablonların (anahtarlar) geriçağırım işlevlerine (değerler) eşleştirildiği bir dizi.
konuŞablonun aranacağı yer değiştirmeye konu dizge veya dizi.
sınır
Her konu dizgesinde her şablon için olası azami
yer değiştirme sayısı. -1 öntanımlıdır (sınırsız).
sayıBelirtildiği takdirde yapılan yer değiştirmelerin sayısı bu bağımsız değişkene konur.
seçenekler
seçenekler bağımsız değişkeni, eşleşen dizinin biçimini
açıklamak için PREG_OFFSET_CAPTURE ve
PREG_UNMATCHED_AS_NULL seçeneklerini bir arada
içerebilir. Ayrıntılar preg_match() işlevinde
bulunabilir.
konu bağımsız değişkeni bir dizi ise işlev bir dizi,
dizge ise bir dizge döndürür. Hata durumunda null döner.
Eşleşme gerçekleşmişse yeni konu, aksi takdirde konu
değiştirilmeden döndürülür.
Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse
bir E_WARNING çıktılanır.
| Sürüm: | Açıklama |
|---|---|
| 7.4.0 |
seçenekler bağımsız değişkeni eklendi.
|
Örnek 1 - preg_replace_callback_array() örneği
<?php
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo '"a" için ', strlen($match[0]), ' eşleşme bulundu', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo '"b" için ', strlen($match[0]), ' eşleşme bulundu', PHP_EOL;
}
],
$subject
);
?>Yukarıdaki örneğin çıktısı:
"a" için 6 eşleşme bulundu "b" için 3 eşleşme bulundu