İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Php ile küçük harfleri büyük harflere çevirme (Türkçe)

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
Normalde strtoupper() fonksiyonu ile küçük harfleri büyük harflere çevirmek mümkünken, Türkçe karakterlerde sorun çıkmaktadır. Aşağıdaki fonksiyon ile bu sorunuda giderebilmektesiniz.

PHP:
function strtoupper_tr($veri) {
	$kh=array('ı','i','ş','ö','ğ','ç','ü');
	$bh=array('I','İ','Ş','Ö','Ğ','Ç','Ü');
	$veri=str_replace($kh,$bh,$veri);
	$veri = strtoupper($veri);
	return $veri;
}
 

Ping

iyinet
İyinet Üyesi
Onaylı Üye
Katılım
10 Temmuz 2011
Mesajlar
2,401
Reaction score
21
Konum
Türkiye
Teşekkürler, bir ara lazım olmuştu.
 

selim61

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Reaction score
11
Konum
<?=selim61?>
Bu verdiğiniz fonksiyonla bilahare utf8 ve diğer bazı karakter setlerinde sorun yaşayabilirsiniz. Aşmak için iconv kullanarak giderebilirsiniz, sadece türkçe karakterler için değil diğer karakterler içinde önce iconv sonra strtoupper yada strtolower kullanmakta fayda var.
Ör string içinde '€' simgesi var, küçült bakalım?
PHP:
<?php
$text = "Bu bir Euro simgesidir: '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;

/*
Original : Bu bir Euro simgesidir: '€'.
TRANSLIT : Bu bir Euro simgesidir: 'EUR'.
IGNORE   : Bu bir Euro simgesidir: ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7
This is the Euro symbol '
*/
?>
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
Hemen deneyelim.

Ekleme: Sıkıntı oluşmadı ama dikkate almakta fayda var tabi.
Teşekkürler Selim ;)
 

gemius

0
İyinet Üyesi
Katılım
14 Kasım 2010
Mesajlar
263
Reaction score
1
CSS'te de böyle bir olay mevcut. uppercase ve lowercase kodlarını araştırırsanız ilgili dökümanlara ulaşabilirsiniz. Arkadaşlara da paylaşım için teşekkürler.
 

Loi

0
İyinet Üyesi
Katılım
13 Kasım 2006
Mesajlar
6,192
Reaction score
44
Konum
localhost
CSS'te de böyle bir olay mevcut. uppercase ve lowercase kodlarını araştırırsanız ilgili dökümanlara ulaşabilirsiniz. Arkadaşlara da paylaşım için teşekkürler.

Evet araştırma yaparken bununlada karşılaşmıştım, hatırlattığınız için teşekkürler ancak girilen bilgiler veritabanına işleneneceğinden, bir standart oluşturmak gerekiyor. Bu sebeple CSS işimi görmemişti ancak bunu paylaşmakta da tabiki fayda var.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst