POSIX Düzenli İfade İşlevleri
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replaceDüzenli ifadeye göre dizgede değişiklik yapar

Açıklama

string ereg_replace ( string $şablon , string $yenisi , string $dizge )

Bu işlev dizge dizgesi içinde şablon düzenli ifadesini arar ve eşleşen metnin yerine yenisi'ni yerleştirir.

Uyarı

Evrenkod uyumsuzluğu nedeniyle bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR.

Değiştirgeler

ş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.

Dönen Değerler

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.

Örnekler

Ö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);
?>

Notlar

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.

İpucu

Perl uyumlu düzenli ifade sözdizimini kullanan preg_replace() işlevi çoğu durumda ereg_replace() işlevinden daha hızlıdır.

Ayrıca Bakınız


POSIX Düzenli İfade İşlevleri
PHP Manual