WebOfficial adlı üyeden alıntı: mesajı görüntüle
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");

strtolower yerine mb_strtolower kullanımı sorunu çözecektir.

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:51:48 -->-> Daha önceki mesaj 14:48:52 --

Ayrıca konuya ek olarak;

aşağıdaki şekilde bir kullanım ile işlem tek satırda halledilebilir.

//php.net'ten alıntıdır.

$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");

echo $str; // Prints Τάχιστη Αλώπηξ Βαφήσ Ψημένη Γη, Δρασκελίζει Υπέρ Νωθρού Κυνόσ