• 29-07-2013, 12:59:51
    #1
    Arkadaşlar bir etiket sistemi yaptım ve yazı içi etiketlemede yapabiliyorum ama yazı içinde etiketler büyük küçük harfden dolayı işlemiyorum bunu nasıl çözebilirim yardımcı olursanız sevinirim.

    Örnek:
    Yazı:
    $icerik = "Ankara’nın Çubuk ilçesinde bulunan bir ortaokulda uygulanan yeni eğitim metodu sayesinde geçmiş yıllara göre yüzde yüzün üzerinde başarı elde edildi";
    Etiketler:
    $etiket= "Ankara,Çubuk,Eğitim,Ortaokul";
    :

    Şuan nasıl çalışıyor:
    $etiketler = explode(",",$etiket);
    $habericerik = icerik;
    for($x=0;$x<=$icetiketsay;$x++)
    {
    $habericerik = str_replace(stripslashes($etiketler[$x]),'<a href="#">'.stripslashes($etiketler[$x]).'</a>',stripslashes($habericerik));	
    }
    echo stripslashes($habericerik);
    Bu şekilde yapınca kısmen çalışıyor,Çalışmayan kısmı büyük küçük harf olarak eşleşmeyenler etiketlenmiyor.
    Yani etiketlerde ki Eğitim ve Ortaokul etiketi yazı içerisinde eğitim ve ortaokul şeklinde olduğu için etiketlenmiyor.

    Bunu nasıl çözerim yardımcı olursanız sevinirim.
  • 29-07-2013, 13:12:59
    #2
    str_replace case sensitive hocam
    str_ireplace i deneyin
  • 29-07-2013, 14:01:10
    #3
    bilgikar adlı üyeden alıntı: mesajı görüntüle
    str_replace case sensitive hocam
    str_ireplace i deneyin
    teşekkürler hocam strireplace kullanınca oldu ama bu sefer şöyle bir sorun çıktı.

    Örneğin:
    "LYS sınav sonuçıar açıklandı" diye bir yazımız varsa ve etiket lys şeklinde tümü küçük harf ise yazıyı;
    "lys sınav sonuçıar açıklandı" şeklinde değiştiriyor :S ve türkçe karakterli olan etikerlerde ise çalışmıyor bu konuda bir çözüm varmı acaba
  • 29-07-2013, 18:50:40
    #4
    hocam preg_replace fonksyonu çözer bunu bence,

    kullanımı biraz farklı diye hatırlıyorum, eğer algoritmayı yazaqmazsanız buraya yazın, yarın devam edelim
  • 30-07-2013, 08:49:08
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    $icerik= preg_replace('@('.quotemeta($kelime).')@siU','$1',$icerik);