array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.preg-replace-callback-array.php', 1 => 'preg_replace_callback_array', ), 'up' => array ( 0 => 'ref.pcre.php', 1 => 'PCRE İşlevleri', ), 'prev' => array ( 0 => 'function.preg-quote.php', 1 => 'preg_quote', ), 'next' => array ( 0 => 'function.preg-replace-callback.php', 1 => 'preg_replace_callback', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/pcre/functions/preg-replace-callback-array.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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