PHP ile Türkçe Karakter Replace

Bugün uğraştığım proje çerçevesinde etiket sistemi kodlarken tahmin edebileceğiniz gibi girilen etiketler içerisindeki Türkçe karakterlerleri İngilizce'deki karşılıkları ile yeniden düzeltmem gerekliydi. Ben ilk olarak strtolower ile etiketi küçültüp ondan sonra küçük olarak bu karakterleri replace ederim diye düşünmüştüm ancak kazın ayağı öyle değilmiş gerçekte. Çünkü strtolower fonksiyonu harfleri küçültürken Türkçe büyük harfleri olduğu gibi bırakıyor bunu aşmak için gerekli çözüm php manual'deki sayfasında aşağıdaki yorumlarda vardı ancak onu uygulamak yerine sağ olsun Mustafa abinin yardımlarıyla aşağıdaki gibi bir fonksiyon yazdım ve sonuç başarılı sizinle de paylaşayım dedim. Kullanımı aşağıda yazıyor, umarım işinize yarar.

PHP:
  1. /**
  2. * replace_tr
  3. * Türkçe karakterleri İng. karşılıkları ile replace eder
  4. * @param string $text
  5. * @return string $text
  6. *
  7. */
  8. function replace_tr($text) {
  9. $text = trim($text);
  10. $search = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü',' ');
  11. $replace = array('C','c','G','g','i','I','O','o','S','s','U','u','-');
  12. $new_text = str_replace($search,$replace,$text);
  13. return $new_text;
  14. }
  15. // Kullanımı
  16. $string = 'Gürkan OLUÇ';
  17. $new_string = replace_tr($string);
  18. echo $new_string;
  19. // Çıktı
  20. // Gurkan-Oluc

Bu yazı 19 Haziran 2007, 19:06 tarihinde Makaleler, PHP, Web Geliştirme kategorisi altında yayınlandı. Bu yazıya yapılacak yorumlardan haberdar olmak için RSS 2.0 beslemesini kullanabilirsiniz. Yorum yapabilirsiniz, veya kendi sitenizden geri izleme yapabilirsiniz.

“PHP ile Türkçe Karakter Replace” için 13 Yorum

Yorum Yapın