str_replace
Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
&reftitle.description;
stringarraystr_replace
arraystringeski
arraystringyeni
stringarraykonu
intsayı&null;
konu dizgesi içindeki eski
dizgelerinin her birini yeni dizgesiyle değiştirerek
elde edilen dizi veya dizgeyi döndürür.
Metni sabit bir dizge yerine bir kalıba göre değiştirmek için
preg_replace işlevi kullanılabilir.
&reftitle.parameters;
Eğer eski ve yeni birer dizi
ise str_replace her diziden birer değer alıp bunları
kullanarak konu dizgesinde arama ve yer değiştirme
yapar. Eğer yeni dizisi eski
dizisinden daha az değere sahipse eksik kalan yeni dizgelerin yerine boş
dizgeler konur. Eğer eski bir dizi ve
yeni bir dizge ise her eski dizgesinin yerine bu yeni
dizgesi konur. Zıddı anlamlı değildir.
Eğer eski veya yeni bir dizi
ise elemanları baştan sona doğru ele alınır.
eski
Aranacak değer; çok sayıda değer belirtmek için dizi kullanılabilir.
yeni
Yeni değer; çok sayıda değer belirtmek için dizi kullanılabilir.
konu
Bir dizge veya dizi belirtilebilir.
Eğer konu bir dizi ise, arama ve değiştirme her
eleman için ayrı ayrı yapılır ve dönen değer de bir dizi olur.
sayı
Eğer belirtilirse, değiştirilen dizgelerin sayısı bu bağımsız değişkende
döndürülür.
&reftitle.returnvalues;
Yer değiştirmeler yapılmış dizge veya diziyi döndürür.
&reftitle.examples;
- Basit str_replace örnekleri
$bodytag = str_replace("%body%", "black", "");
// Sonuç: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Sonuç: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// sağlanan: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>
]]>
- str_replace olası sorunsal örnekleri
';
// \r\n'ler önce değiştirilmeli ki tekrar değiştirilmesin
$newstr = str_replace($order, $replace, $str);
// F çıktılanır, çünkü A ile B, B ile C, ... yer değiştirir.
// Yer değiştirme soldan sağa doğru yapıldığından
// son olarak E ile F yer değiştirir.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);
// Çıktısı: apearpearle pear
// yukarda bahsedilen sebeple
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
]]>
&reftitle.notes;
¬e.bin-safe;
Değiştirme sırası sorunsalı
str_replace yer değiştirmeyi soldan sağa doğru
yaptığından, örneklerde de göreceğiniz gibi, çok sayıda yer değiştirme
yapıldığında bir önceki değer tekrar değiştirilir.
Bu işlev harf büyüklüğüne duyarlıdır. Harf büyüklüğüne duyarsız işlem
yapmak istiyorsanız str_ireplace işlevini kullanınız.
&reftitle.seealso;
str_ireplace
substr_replace
preg_replace
strtr