Php de str_replace hatası : “PHP Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated”

Php de böyle bir hata alıyorum:


PHP Deprecated:  str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/xxxx/cccc/makale.php on line 386

Sanırım str_replace fonksiyonunda değişiklik olmuş, str_replace’nin kullanımı nasıl olmalı? Hata aldığım kod aşağıdaki gibi:


$icerikyazisi = str_replace("Eski degisecek yazi","",$icerik_metni);

Evet, doğru anladın. PHP’nin daha yeni sürümlerinde str_replace fonksiyonunun kullanımında bir değişiklik yapıldı. Artık ikinci parametre olan değiştirilecek dizge yerine, değiştirme işlemini gerçekleştirmek istemediğiniz karakterleri içeren bir dizge ya da null değeri kullanmanız gerekiyor. Bu nedenle, kodunuzu aşağıdaki gibi güncellemeniz gerekmektedir:

$icerikyazisi = str_replace("Eski degisecek yazi", "", $icerik_metni);

Eski parametrenin yerine boş bir dizge (“”) veya null değeri yerine geçebilirsiniz. Eğer belirli karakterleri kaldırmak istiyorsanız, değiştirilecek dizge yerine bir dizi kullanabilirsiniz. Örneğin, aşağıdaki gibi:

$icerikyazisi = str_replace(["Eski", "degisecek", "yazi"], "", $icerik_metni);

Bu durumda, “Eski”, “degisecek” ve “yazi” karakterleri yerine boşluk gelecektir.

TERİMLER:

  • str_replace: Bir dizge içinde belirli karakterleri başka karakterlerle değiştiren bir PHP işlevi. Bu işlev, birinci parametre olarak değiştirilecek karakter(ler)i veya dizi(ler)i, ikinci parametre olarak ise yerine geçecek olan karakter(ler)i veya dizi(ler)i kabul eder.