| Php ile Türkçe'de Ünsüz Yumuşaması Uygulaması |
PHP KODU
<?php
function unsuz_yumusamasi($icerik,$ek)
{
$son_harf_len_degeri = mb_substr($icerik, -1,1,"UTF-8");
if ($son_harf_len_degeri == "p")
{
$son_harf_haric = mb_substr($icerik, 0,strlen($icerik) -1,"UTF-8");
return $son_harf_haric."b".$ek;
}
elseif ($son_harf_len_degeri == "ç")
{
$son_harf_haric = mb_substr($icerik, 0,strlen($icerik) -3,"UTF-8");
return $son_harf_haric."c".$ek;
}
elseif ($son_harf_len_degeri == "t")
{
$son_harf_haric = mb_substr($icerik, 0,strlen($icerik) -1,"UTF-8");
return $son_harf_haric."d".$ek;
}
elseif ($son_harf_len_degeri == "k")
{
$son_harf_haric = mb_substr($icerik, 0,strlen($icerik) -1,"UTF-8");
return $son_harf_haric."ğ".$ek;
}
else
{
return $icerik.$ek;
}
}
echo unsuz_yumusamasi("ağaç","ın")."<br>";
echo unsuz_yumusamasi("kitap","ın")."<br>";
echo unsuz_yumusamasi("yanak","ın")."<br>";
echo unsuz_yumusamasi("kilit","in")."<br>";
?>
Bu Uygulama Ne İşe Yarar ?
Önce unsuz_yumusamasi adında bir fonksiyon oluşturduk.Fonksiyon oluşturmayı bilmiyorsanız Php'de Fonksiyon Oluşturma adlı içeriğimizi okuyabilirsiniz. Daha sonra $son_harf_len_degeri adlı değişkene fonksiyondan aldığımız $icerik adlı değişkenin son harfini göster dedik.
mb_substr($icerik, -1,1,"UTF-8");
// $icerik adlı değişkenin sondan bir önceki ile bir sonraki karakteri göster dedik.
mb_substr($icerik, 3,2,"UTF-8");
// Bu şekilde kullansaydık 3. harften 5. harfe kadar olan kısmı göster demiş olacaktık. Yani 3. karakterden itibaren ilk 2 karakteri göster dedik aslında.
Türkçe'de "p,ç,t,k" harfleri sert sessizler olduğu için bu harfleri sırasıyla if koşuluna koyarak yumuşak ünsüzler olan "b,c,d,ğ" harflerine çevirdik.
Kısaca:
Eğer son harf "p" ise "b" harfine dönüştür.
Eğer son harf "ç" ise "c" harfine dönüştür.
Eğer son harf "t" ise "d" harfine dönüştür.
Eğer son harf "k" ise "ğ" harfine dönüştür koşulunu verdik.
Asıl püf nokta ise son harfe kadar olan kısımları alıp sonlarına çıkan değerleri koymak oldu.
Bu işlemi de aşağıdaki şu kodla yaptık:
$son_harf_haric = mb_substr($icerik, 0,strlen($icerik) -1,"UTF-8");
Açıklamak gerekirse $içerik değişkenindeki değerin 0. karakterinden itibaren sondan bir önceki değerine kadar olan harfleri göster dedik. $icerik değişkeninin kaç karakter olduğunu öğrenmek için gerekli kodumuz aşağıdaki koddur.
strlen($icerik)
Böylece sondan bir önceki koda dek her harfi aldık. Daha sonra da ek olarak çıkan değerleri koyduk.
Uyarı: Bazı Türkçe harfler bir karakter değil iki karakter hatta 3 karakterdir aslında. Bu yüzden
"ç" harfini 3 karakter olarak seçtik.
Hiç yorum yok :
Yorum Gönder