(PHP 4, PHP 5, PHP 7, PHP 8)
substr_replace — Bir dizgenin belli bir bölümünü değiştirir
$dizge,$yenisi,$başlangıç,$uzunluk = null
substr_replace() işlevi
dizge dizgesinin
başlangıç (seçimlik) konumundan itibaren
uzunluk karakterlik parçasının yerine
yenisi dizgesini yerleştirir.
dizgeGirdi dizgesi.
Bir dizgeler dizisi belirtilmesi durumunda değiştirme işlemi her elemana
uygulanır. Bu durumda, her elemana karşı düşen
yenisi, başlangıç ve
uzunluk değerlerini içeren diziler de
belirtilebilir.
yenisiDeğiştirilecek kısma yerleştirilecek dizge.
başlangıç
Eğer başlangıç negatif değilse, yer değiştirme
işlemi dizge dizgesinin baştan
başlangıç'ıncı karakterinden başlar.
Eğer başlangıç negatifse, yer değiştirme
işlemi dizge dizgesinin sondan
başlangıç'ıncı karakterinden başlar.
uzunluk
Belirtilmiş ve pozitifse, dizge dizgesinin
değiştirilecek parçasının uzunluğudur; negatif ise,
dizge dizgesinin sonundan itibaren
yerleştirmenin durdurulacağı karakter sayısıdır. Belirtilmezse,
strlen(dizge) öntanımlıdır, yani yerleştirme
işlemi dizgenin sonunda biter. uzunluk sıfırsa,
yenisi dizgesi dizge
dizgesine başlangıç (seçimlik) konumundan
itibaren yerleştirir.
Elde edilen dizge döner. dizge bir dizi ise bir dizi
döner.
Örnek 1 - substr_replace() örnekleri
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* Bu iki örnek $var dizgesinin tamamını 'bob' yapar. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* 'bob' $var dizgesine dizgenin başından itibaren yerleştirilir. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* Bu ikisi $var içindeki 'MNRPQR' yerine 'bob' yerleştirir. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* $var dizgesinin 'MNRPQR' parçasını siler. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
Örnek 2 - Çok sayıda dizgeyi bir kerede değiştirmek için substr_replace() kullanımı
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// Basit durum: her dizgede XXX yerine YYY yerleştir.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// Her değiştirmenin farklı olduğu daha karmaşık durum
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Her defasında farklı sayıda karakteri değiştirmek.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>Yukarıdaki örneğin çıktısı:
A: YYY; B: YYY; C: YYY A: AAA; B: BBB; C: CCC A: AAAXX; B: BBBX; C: CCC
Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.