Öneri ve Hata Raporu



Günün Sözü Sevemez kimse seni benim sevdiğim kadar

kategori PHP
oylama 3/5 yorum 7 yorum yazar Hakan Taşan tarih 12 Kasım 2013

str_replace() fonksiyonu ile ister string içinde ister dizi içinde istediğimiz kelimeleri veya karakterleri değiştirebiliriz. En baştan şunu söyleyeyim, str_replace() fonksiyonu büyük küçük harflere duyarlıdır (case-sensitive), büyük küçük harflere duyarsız (case-insensitive) fonksiyon için str_ireplace() fonksiyonunu kullanmalısınız. 2 fonksiyonun da kullanımları aynıdır. 4 parametre alabilir ancak genel olarak 3 parametre ile kullanılır.

Syntax

str_replace(find,replace,string,count)
str_ireplace(find,replace,string,count)

 

find: Zorunludur. Stringde ya da dizide değişecek değer girilmeli.

replace: Zorunludur. String ya da dizideki değerin ne ile değiştirileceği girilmeli.

string: Zorunludur. Üzerinde işlem yapılacak string veya dizi girilmeli.

count: İsteğe bağlıdır. Kaç kere değiştirme işlemi uygulandığını döndürür.

Not: str_replace() fonksiyonu orijinal stringi veya diziyi bozmaz.

Örnek 1)

<?php
    $metin    = "Burada 5 yazıyor";
    $bul      = "5";
    $degistir = "6";
    echo $metin;
    // Çıktı: Burada 5 yazıyor

    $metin = str_replace($bul, $degistir, $metin);
    echo $metin;
    // Çıktı: Burada 6 yazıyor
?>

 

Örnek 2)

<?php
    $metin    = "Burada 5 yazıyor";
    $bul      = "5";
    $degistir = "6";
    echo $metin;
    // Çıktı: Burada 5 yazıyor

    $metin = str_replace($bul, $degistir, $metin, $sayi);
    echo $metin. "<br>";
    echo "Değiştirme sayısı: ". $sayi;
    // Çıktı: Burada 6 yazıyor
    // Değiştirme sayısı: 1
?>

 

Örnek 3)

<?php
    $metin    = "Burada 5 ve 6 yazıyor";
    $bul      = array("5","6");
    $degistir = array("10","11");
    echo $metin;
    // Çıktı: Burada 5 ve 6 yazıyor

    $metin = str_replace($bul, $degistir, $metin);
    echo $metin. "<br>";
    // Çıktı: Burada 10 ve 11 yazıyor
?>

 

Örnek 4)

<?php
    $metin    = "Burada 5 ve 6 yazıyor";
    $bul      = array("5","6");
    $degistir = array("10","11");
    echo $metin;
    // Çıktı: Burada 5 ve 6 yazıyor

    $metin = str_replace($bul, $degistir, $metin, $sayi);
    echo $metin. "<br>";
    echo "Değiştirme sayısı: ". $sayi;
    // Çıktı: Burada 10 ve 11 yazıyor
    // Değiştirme sayısı: 2 
?>

 

Örnek 5)

<?php
    $dizi     = array("mavi","kırmızı","yeşil","sarı");
    $bul      = array("mavi","kırmızı");
    $degistir = array("lacivert","gri");
    print_r($dizi);
    // Çıktı: Array ( [0] => mavi [1] => kırmızı [2] => yeşil [3] => sarı ) 

    $dizi = str_replace($bul,$degistir,$dizi,$sayi);
    print_r($dizi);
    echo "Değiştirme sayısı: ". $sayi;
    // Çıktı: Array ( [0] => lacivert [1] => gri [2] => yeşil [3] => sarı ) 
    // Değiştirme sayısı: 2 
?>

 

paylaş Paylaş
oylama yap Oyla

makale yorumları YORUMLAR

7 Yorum


yorum

Yusuf

07 Ağustos 2015 03:08


Ondalık sayı yazdığımızda işlem yapmıyor.

yorum

Admin

07 Ağustos 2015 03:59


örnek verebilir misiniz? ne yapmak istediğinizi yazarsanız belki yardımcı olabilirim.

yorum

izzet

22 Eylül 2016 08:32


Süper pro olmuş anlatım eline sağlık hakan hocam.

yorum

Selim

09 Eylül 2017 13:53


str_ireplace() kullanıyorum ama türkçe karakterleri es geçiyor. Benim amacım konu içerisinde geçen belli kelimelere link vermek. Kelimenin içinde türkçe karakter yer aldığı zaman otomatik linki veremiyor. Bununla ilgili bi fikriniz var mı? Teşekkür ederim

yorum

Admin

09 Eylül 2017 19:56


Merhaba, şu şekilde bir kod işinizi görür mü acaba
denemek istiyorsanız: http://hakantasan.com/ornekler/turkce.php


<?php
$metin = "türkçe TÜRKÇE boşnakça BOŞNAKÇA";
$bul = array("türkçe","TÜRKÇE","boşnakça","BOŞNAKÇA");
$degistir = array("<a href='http://www.turkce.com'>türkçe</a>","<a href='http://www.turkce.com'>TÜRKÇE</a>",
"<a href='http://www.bosnakca.com'>boşnakça</a>","<a href='http://www.bosnakca.com'>BOŞNAKÇA</a>");
echo $metin;
$metin = str_ireplace($bul, $degistir, $metin);
echo $metin;
?>

yorum

murat

27 Eylül 2017 11:07


find: Zorunludur.

replace: Zorunludur. Stringde ya da dizide değişecek değer girilmeli.

Burada yanlışlık var sanırım
doğrusu şöyle olmalı
find: Zorunludur. Stringde ya da dizide değişecek değer girilmeli.

replace: Zorunludur. String ya da dizideki değerin ne ile değiştirileceği girilmeli.

yorum

Admin

27 Eylül 2017 21:04


Merhaba Murat Bey, dikkatiniz ve uyarınız için çok teşekkürler. Belirttiğiniz düzeltmeleri yaptım. Teşekkür ederim tekrar.