(PHP 4, PHP 5)
ereg_replace — Düzenli ifadeye göre dizgede değişiklik yapar
Bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR ve PHP 7.0.0'da tamamen KALDIRILMIŞTIR.
Bu işlevin yerine kulllanılabilecekler:
$şablon
, string $yenisi
, string $dizge
) : string
Bu işlev dizge
dizgesi içinde
şablon
düzenli ifadesini arar ve eşleşen metnin
yerine yenisi
'ni yerleştirir.
şablon
Bir POSIX gelişkin düzenli ifadesi.
yenisi
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.
dizge
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);
?>