(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.
Sürüm: | Açıklama |
---|---|
8.0.0 | uzunluk artık null olabiliyor. |
Örnek 1 - substr_replace() örnekleri
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
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.