ereg_replace

(PHP 4, PHP 5)

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

Uyarı

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:

Açıklama

ereg_replace ( string $ş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.

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

Ayrıca Bakınız

  • ereg() - Düzenli ifadeyi eşleştirir
  • eregi() - Düzenli ifadeyi harf büyüklüğüne duyarsız olarak eşleştirir
  • eregi_replace() - Düzenli ifadeye göre dizgede harf büyüklüğüne duyarsız olarak değişiklik yapar
  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • quotemeta() - Özel anlamı olan karakterleri tersbölü ile önceler