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