• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

Türkçe karakterler için strtolower() ve strtoupper() fonksiyonları

Konuyu Okuyan Kişiler (0)

ctis

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
65
Beğeniler
0
#1
Merhaba,

PHP'de en çok rastlanan sorunlardan birisi Türkçe karakter problemidir. Bugün sizlere gene karşılaştığım bu sorun ve çözümü hakkında bilgi vereceğim.

Türkçe karakter içeren metinlerinizi küçük harfe dönüştürmek istediğinizde PHP core fonksiyonlarından olan strtolower(); ve yine aynı şekilde Türkçe karakterleri büyük harfe çevirmek istediğimizde strtoupper(); fonksiyonları bu harfleri çevirmiyor. Bunun önüne geçmek için aşağıda yazacağım fonksiyonları çağırarak çözüm bulabilirsiniz.

Türkçe harfleri büyütmek için:

PHP:
//strtoupper fonksiyonu
function strtoupperTR($metin){
    $arananlar=array('/i/','/ı/','/ş/','/ö/','/ü/','/ğ/','/ç/');
    $yeniler=array('İ','I','Ş','Ö','Ü','Ğ','Ç');
    ksort($arananlar);
    ksort($yeniler);
    $metin=preg_replace($arananlar, $yeniler, $metin);
    $metin=strtoupper($metin);
    return $metin;
}
Türkçe harfleri küçültmek için:
PHP:
//strtolower fonksiyonu
function strtolowerTR($metin){
    $arananlar=array('/I/','/İ/','/Ş/','/Ö/','/Ü/','/Ğ/','/Ç/');
    $yeniler=array('ı','i','ş','ö','ü','ğ','ç');
    ksort($arananlar);
    ksort($yeniler);
    $metin=preg_replace($arananlar, $yeniler, $metin);
    $metin=strtolower($metin);
    return $metin;
}
güle güle kullanın :)
 

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#2
En sinir bozucu olaylardandır, Örnek kelime BAKICI çeviriyor bakIcI :) Bunun bir çözümü vardı tam hatırlamıyorum ama, ilk baş iconv den mi ne geçiriyordum oluyordu. Seninki de kullanılabilir tabi :)
 

ctis

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
65
Beğeniler
0
#3
En sinir bozucu olaylardandır, Örnek kelime BAKICI çeviriyor bakIcI :) Bunun bir çözümü vardı tam hatırlamıyorum ama, ilk baş iconv den mi ne geçiriyordum oluyordu. Seninki de kullanılabilir tabi :)
Evet aynen öyle oldu bende de. Şehirlerden İzmir'i SQL surgusundan geçiricektim bir türlü küçültemedim "İ" harfini, neyse ki aşağıdaki fonksiyon işe yaradı :)
 

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#4
Evet aynen öyle oldu bende de. Şehirlerden İzmir'i SQL surgusundan geçiricektim bir türlü küçültemedim "İ" harfini, neyse ki aşağıdaki fonksiyon işe yaradı :)
Şimdi hatırladım, Bu fonksiyon da çalışmayabilir. Çünkü bir siteden çekiyorsanız veriyi geldiği tip ile Uyuşmayabiliyor.
 

ctis

webmaster.tc
Katılım
6 Ağu 2012
Mesajlar
65
Beğeniler
0
#5
Şimdi hatırladım, Bu fonksiyon da çalışmayabilir. Çünkü bir siteden çekiyorsanız veriyi geldiği tip ile Uyuşmayabiliyor.
Yok bunu user request şeklinde alıyorum, dışarıdan bir bağlantı ile almıyorum. Google enteresan bir şekilde içinde değişken bulunan linklerimi, değişkeni büyük harfleriyle de indexliyor. Değişkeni küçültmeye zorluyorum ben de bir de abuk bir değişken girilirse header yönlendirmesi yapıyorum.

Header yönlendirmesi ile ilgili konumu dün bu yüzden açmıştım :) -> http://www.webmaster.tc/php/ob_start-nedir-nasil-ve-ne-zaman-kullanilir-4416.html