Strtolower , strtoupper, ucfirst Türkçe karakter sorunu (PHP)

Ceviz Viki sitesinden

Git ve: kullan, ara

Motivasyon

Türkçe karakterlerde strtolower, strtoupper ve ucfirst fonksiyonlarının sorun çıkartması.

Kod

function strtoupper_tr($s)
{
 $tmp = str_replace(
 array("a","b","c","ç","d","e","f","g","ğ","h","ı",
"i","j","k","l","m","n","o","ö","p","r","s","ş","t",
"u","ü","v","y","z","q","w","x"),
 array("A","B","C","Ç","D","E","F","G","Ğ","H","I",
"İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T",
"U","Ü","V","Y","Z","Q","W","X"),
 $s
 );
 return $tmp;
}
function strtolower_tr($s)
{
 $tmp = str_replace(
 array("A","B","C","Ç","D","E","F","G","Ğ","H","I",
"İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T",
"U","Ü","V","Y","Z","Q","W","X"),
 array("a","b","c","ç","d","e","f","g","ğ","h","ı",
"i","j","k","l","m","n","o","ö","p","r","s","ş","t",
"u","ü","v","y","z","q","w","x"),
 $s
 );
 return $tmp;
}
 
function ucfirst_tr($s)
{
 return strtoupper_tr(substr($s,0,1)) . strtolower_tr(substr($s,1));
}