PHP 7.4.22 Released!

mb_ereg_replace_callback

(PHP 5 >= 5.4.1, PHP 7, PHP 8)

mb_ereg_replace_callbackBir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular

Açıklama

mb_ereg_replace_callback(
    string $kalıp,
    callable $geriçağırım,
    string $dizge,
    ?string $seçenekler = null
): string|false|null

dizge dizisinde kalıp ile eşleşmeler arar, eşleşen metni geriçağırım işlevinin çıktısı ile değiştirir.

mb_ereg_replace() işlevindeki yeni değiştirgesinin yerine burada bir geriçağırım işlevinin kullanılması dışında davranışları aynıdır.

Değiştirgeler

kalıp

Düzenli ifade kalıbı.

kalıpta çok baytlı karakterler kullanılabilir.

geriçağırım

konu dizgesinde eşleşen elemanları içeren bir dizi aktarılabilen ve yerleştirilecek dizgeyi döndürecek geriçağırım işlevi.

Genellikle mb_ereg_replace_callback() için geriçağırım işlevine tek bir yerde ihtiyaç duyulur. Bu durumda,mb_ereg_replace_callback() çağrısı içinde geriçağırımı bildirmek için anonim bir işlev kullanılabilir. Bunu bu şekilde yaparak, çağrı için ihtiyaç duyulan tüm bilgiler tek bir yerde elde edilebilir ve işlev isim alanı başka hiçbir yerde kullanılmayan bir geriçağırım işlevinin adıyla karıştırılmamış olur.

dizge

Arama yapılacak dizge

seçenekler

Arama seçenekleri. Ayrıntılar için mb_regex_set_options() işlevine bakılabilir.

Dönen Değerler

Başarı durumunda elde edilen dizge, hata durumunda false döner. dizge geçerli kodlama için geçersizse null döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 seçenekler artık null olabiliyor.
7.1.0 Geçerli kodlama için dizge'nin geçerliliğine artık bakılıyor.

Örnekler

Örnek 1 - mb_ereg_replace_callback() örneği

<?php
// bu metin 2002'de kullanıldı
// 2003'te güncellemek istiyouz
$text "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// geriçağırım işlevi
function next_year($matches)
{
  
// normal olarak: $matches[0] eşleşmenin tamamını
  // $matches[1] '(...)' ile sarmalanmış ilk eşleşmeyi
  // içerir ve böyle devam eder.
  
return $matches[1].($matches[2]+1);
}
echo 
mb_ereg_replace_callback(
            
"(\d{2}/\d{2}/)(\d{4})",
            
"next_year",
            
$text);

?>

Yukarıdaki örneğin çıktısı:

April fools day is 04/01/2003
Last christmas was 12/24/2002

Örnek 2 - Anonim işlev kullanan mb_ereg_replace_callback() örneği

<?php,
// bu metin 2002'de kullanıldı
// 2003'te güncellemek istiyouz
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";

echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            function ($matches) {
               return $matches[1].($matches[2]+1);
            },
            $text);
?>

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top