(PHP 4, PHP 5)
ereg_replace — Düzenli ifadeye göre dizgede değişiklik yapar
Bu işlev dizge dizgesi içinde şablon düzenli ifadesini arar ve eşleşen metnin yerine yenisi'ni yerleştirir.
Evrenkod uyumsuzluğu nedeniyle bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR.
Bir POSIX gelişkin düzenli ifadesi.
Eğer şablon parantezli gruplar içeriyorsa yenisi değiştirgesi \\rakam biçeminde bir dizge içerebilir. Burada rakam, parantezli grubun şablonun solundan itibaren kaçıncı grup olduğunu gösterir. \\0 değeri dizgenin tamamınına karşılıktır. Böyle 9 alt dizge belirtilebilir. Parantezler iç içe olabilir, bu durumda aç parantezler sayılır.
Girdi dizgesi.
Değiştirilen dizgeyi döndürür. Dizge ile eşleşme sağlanamamışsa dizgenin kendisini değiştirmeden döndürür.
Örneğin, aşağıdaki kod parçası üç kere "This was a test" basacaktır.
Örnek 1 - ereg_replace() örneği - 1
<?php
$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);
?>
Burada dikkat edilmesi gereken, yenisi değiştirgesinde bir tamsayı belirtirseniz beklenmedik sonuçlar alabilecek olmanızdır. Bunun sebebi, ereg_replace() işlevinin sayıyı sıradan bir karakter değeri olarak yorumlaması ve buna göre davranmasıdır. Örnek:
Örnek 2 - ereg_replace() örneği - 2
<?php
/* Bu beklendiği gibi çalışmaz. */
$num = 4;
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Çıktısı: 'This string has words.' */
/* Bu çalışır. */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Çıktısı: 'This string has 4 words.' */
?>
Örnek 3 - URL'den bağlantı oluşturma
<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\">\\0</a>", $text);
?>
Bilginize:
PHP 5.3.0 ve sonrasında regex eklentisinin kullanımı artık önerilmemekte olup yerine PCRE eklentisinin kullanılması önerilmekte ve bu işleve yapılan çağrılar bu nedenle bir E_DEPRECATED uyarısı çıktılamaktadır.PCRE'ye dönüşümü kolaylaştırmak için fark listesine bakınız.
Perl uyumlu düzenli ifade sözdizimini kullanan preg_replace() işlevi çoğu durumda ereg_replace() işlevinden daha hızlıdır.