PHP'de "str_replace" ile Türkçe Karakter Hatalarını Düzeltme - Sinan Yorulmaz

Sinan Yorulmaz


Bir Yazılımcının Günlüğü

27 Mayıs 2016
PHP’de “str_replace” ile Türkçe Karakter Hatalarını Düzeltme

PHP
27 Mayıs 2016 PHP 501 Okuma 1 Yorum

Geliştirmekte olduğum projelerden birinde ThemeForest’ten aldığım bir temayı kullanmam gerekti ve bu temanın form gönderme kısmında bazı karakter hataları ile karşılaştım. Her ne yaptıysam bu karakter hataları düzelmedi ve bende işi “str_replace” ile çözdüm.

str_replace fonksiyonu sayesinde, istediğimiz karakterleri veya karakter kümelerini (kelimeleri) veya dizileri (array) farklı karakterlere dönüştürebiliyoruz. Bu bazen bir kelime olur, bazen kelime içerisindeki bir harf olur, sayı olur, özel karakter olur…

str_replace Kullanım Şekli

Buradaki “bul“, “değişken” kısmında girdiğimiz değişkenimizin değerinin içerisinde aranacak karakteri, “değiştir” kısmı ise bulunan karakterle değiştirilecek yeni karakteri ifade etmektedir. Şimdi bu bilgiler ışığında kullandığım temanın formundan bana gelen mesaj içeriğindeki karakter hatalarını giderelim.

Şimdi ben burada bir $_POST verisi kullandım; çünkü benim verim form üzerinden geliyordu, siz dilerseniz direkt olarak $gelen_mesaj değişkeni içerisine değiştirilecek herhangi bir veri girebilirsiniz. Verimi bu şekilde bir değişkene atadıktan önce $bul değişkenine bulunacak hatalı karakterleri array ile girdim. Akabinde $degistir değişkeninin içerisine de bulunan hatalı karakterlerin hangi karakterler ile değiştirileceğini girdim. Sonra str_replace fonksiyonunu kullanarak önce bu mesaj içerisinde gelen bozuk karakteri belirttim, sonra değiştirilecek karakteri ve son olarak da bu işlemin hangi değişken içerisinde gerçekleşeceğini.

Sonuç olarak $duzenlenen_mesaj değişkenini yazdırdığımda $_POST[‘mesaj’]; ile gelen mesaj metni içerisindeki Türkçe karakter hatalarını düzeltilmiş bir şekilde görmeyi başardım.

Yapılan 1 Yorum

  1. Bu tür işler için utf8_decode() işlevi daha isabetli sonuç verecektir.

    Cevapla

Yorum Yap

Copyright © 2015. Tüm haklarım anneme aittir. Babama yakalanmadığınız sürece sorun yok!