(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.
dizge
Girdi 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.
yenisi
Değ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.