PHP'nin bunun için fonksiyonu var, Türkçe karakterler ile de çalışır, yeniden fonksiyon yazmaya gerek yok.
<?
$test="İstanbul ılgaz Çorum çorum şile çile";
echo mb_convert_case($test,MB_CASE_TITLE,"UTF-8");
?>
Çıktı :
İstanbul Ilgaz Çorum Çorum Şile Çile
Merhaba hocam.
I harfinde problem oluyor sanırsam.
"NEMLİ BİR İSTANBUL SABAHIYDI GÜNÜM" cümlesi "Nemli Bir İstanbul Sabahıydı Günüm" olmak yerine "Nemli Bir İstanbul Sabahiydi Günüm" oluyor
function ilk_harfler_buyuk($yazi){
$kelimeler = explode(" ",trim($yazi));
$yenicumle = "";
for($x=0; $x<=(count($kelimeler)-1); $x++){
$kucuk= array("ş","ı","i","ü","ö","ç");
$buyuk= array("Ş","I","İ","Ü","Ö","Ç");
$kelimem =$kelimeler[$x];
$ilkbolumu = str_replace($kucuk,$buyuk,mb_strtoupper(mb_substr($kelimem,0,1,'UTF-8')));
$sonbolumu = strtolower(str_replace($buyuk,$kucuk,mb_substr($kelimem,1,strlen($kelimem),'UTF-8')));
$yenicumle.= $ilkbolumu.$sonbolumu." ";
}
return trim($yenicumle);
}
echo ilk_harfler_buyuk("NEMLİ BİR İSTANBUL SABAHIYDI GÜNÜM");
// Nemli Bir İstanbul Sabahıydı Günüm