Ana Sayfa Genel JQuery’de Str_Replace Metodu ile Türkçe Karakter Sorununa Çözüm

JQuery’de Str_Replace Metodu ile Türkçe Karakter Sorununa Çözüm

4.245
0
Paylaş

Hepimiz CSS ile “text-transform:uppercase” komutunu kullanarak bütün harfleri kolay yoldan html dosyada büyük yapmışızdır. Eğer PHP kodlamaya hiç girmeyeceksek bu oldukça makul bir çözümdür. Fakat bir problem vardır; Türkçe karakter sorunu.. Bu sorunu çözmek için uğraştığımız da ise çoğu zaman olmamıştır.

Şimdi size bu olayı mantıksal yoldan nasıl çözeceğinizden bahsedeceğim. Aslında CSS uppercase komutu ile yalnızca küçük “i” harfini büyük “I” harfine çevirmektedir. Bunlar dışındaki Türkçe karakterlerde sorun olmamaktadır. Fakat JQuery veya diğer bir değişle JavaScript komutunda “.replace()” fonksiyonu yalnızca ilk gördüğünü değiştirmektedir. Bir çoğu diğerlerini nasıl değiştireceğini bilmemekte ve bu olaydan vazgeçmektedir.

Şimdi size “.replace()” fonksiyonunun küçük ama etkili bir ayrıntısını anlatma zamanı geldi. Öncelikle ilk kullanımdan söz edeyim. Bu kullanım yalnızca ilk bulduğu yeri değiştirir ve görevini tamamlar. Yani, diğer harf veya metinlere bakmaz.

$(document).ready( function() {
	$("#degistirilecek_div").text($("#degistirilecek_div").text().replace("i","İ"));
});

Yukarıdaki komut yalnızca metin içerisinde ilk bulduğu harfi değiştirir ve görevini orada tamamlar. Yani metin içerisinde yalnızca bir harfin Türkçe karakter problemine çözüm olmuş oluruz. Peki bütün harfleri nasıl tarayacağız? Bunun da yolu var elbetteki yapmanız gereken aşağıdaki kodu kullanmak.

$(document).ready( function() {
	$("#degisecek_metin").text($("#degisecek_metin").text().replace(/i/g,"İ"));
});

Yukarıdaki komut bütün bir metni tarayarak bizim Türkçe karakter sorunu olan küçük “i” lerimizi büyük “İ” ye çevirerek sorunsuz bir şekilde “uppercase” css komutunu kullanmamıza yardımcı olur.

Son olarak eğer bunu bir metin değiştirme işleminde kullanıyorsanız vede büyük küçük harf duyarsız olsun istiyorsanız yapmanız gereken aşağıdaki kodu kullanmak olacaktır.

$(document).ready( function() {
	$("#degisecek_metin").text($("#degisecek_metin").text().replace(/eski/ig,"yeni"));
});

Başka bir yazıda görüşmek dileğiyle ☺

Berk Hamza HAKYOL