Ana sayfa › Forumlar › PROGRAMLAMA › PHP › Kelime ekleri fonksiyonu Türkçe
- Bu konu 0 yanıt içerir, 1 izleyen vardır ve en son 12 yıl 6 ay önce Gökhan tarafından güncellenmiştir.
-
YazarYazılar
-
22 Nisan 2012: 19:08 #12699Gökhanİzleyici
/*
İsmin nikneymin sonuna gereken eki ekler
İkinci değişken için geçerli veriler: ‘de’ ‘den’ ‘e’ ‘i’ ‘in’ ‘ile’ (e hali , i hali vb)
*/
function isimeki($ad, $ektipi= “in”)
{
$sertsessizler = array(“ç”, “f”, “h”, “k”, “p”,”s”, “ş”, “t”);/// türkçe sesli ve sert sessiz karakterler
$buyuk = array(“A”, “I”, “E”, “İ”, “U”,”O”, “Ü”, “Ö”, “Ç”, “F”, “H”, “K”, “P”,”S”, “Ş”, “T”);
$kucuk = array(“a”, “ı”, “e”, “i”, “u”,”o”, “ü”, “ö”, “ç”, “f”, “h”, “k”, “p”,”s”, “ş”, “t”);
$kucultulmus = str_replace($buyuk, $kucuk, $ad);
$isim=trim($kucultulmus);/// aşağıdaki kısım regexp ile son sesli harfi buluyor.
/// bugcheck şeysi regexp özürlü turkce harfleri adam etmek için.
$bugcheckkaynak = array(“ı”, “ö”, “ü”);
$bugcheckhedef = array(“a”, “`”, “`”);
$bugfixed=str_replace($bugcheckkaynak, $bugcheckhedef, $isim);
preg_match_all(‘/[aeiou`]/’, $bugfixed, $bulunanlar);
$sesliler=$bulunanlar[0];
$sonsesli=end($sesliler); //isimdeki son sesli harfi bulduk
$sonharf = substr($bugfixed, -1); // isimdeki son karakteri buldukswitch ($ektipi) {
case “in”: //iyelik eki -> Ahmet’in
if ($sonharf==”a” or $sonharf==”ı”) {$eki=”‘nın”;}
elseif ($sonharf==”e” or $sonharf==”i”) {$eki=”‘nin”;}
elseif ($sonharf==”u” or $sonharf==”o”) {$eki=”‘nun”;}
elseif ($sonharf==”`”) {$eki=”‘nün”;}
elseif ($sonsesli==”a” or $sonsesli==”ı”) {$eki=”‘ın”;}
elseif ($sonsesli==”e” or $sonsesli==”i”) {$eki=”‘in”;}
elseif ($sonsesli==”u” or $sonsesli==”o”) {$eki=”‘un”;}
elseif ($sonsesli==”`” ) {$eki=”‘ün”;}
else {$eki=”‘ın”;}
break;case “e”: // ismin e hali -> Ahmet’e
if ($sonharf==”a” or $sonharf==”ı” or $sonharf==”u” or $sonharf==”o”) {$eki=”‘ya”;}
elseif ($sonharf==”e” or $sonharf==”i” or $sonharf==”`”) {$eki=”‘ye”;}elseif ($sonsesli==”a” or $sonsesli==”ı” or $sonsesli==”u” or $sonsesli==”o”) {$eki=”‘a”;}
elseif ($sonsesli==”e” or $sonsesli==”i” or $sonsesli==”`”) {$eki=”‘e”;}
else {$eki=”‘a”;}
break;case “i”: // ismin i hali -> Ahmet’i
if ($sonharf==”a” or $sonharf==”ı”) {$eki=”‘yı”;}
elseif ($sonharf==”e” or $sonharf==”i”) {$eki=”‘yi”;}
elseif ($sonharf==”u” or $sonharf==”o”) {$eki=”‘yu”;}
elseif ($sonharf==”`”) {$eki=”‘yü”;}elseif ($sonsesli==”a” or $sonsesli==”ı”) {$eki=”‘ı”;}
elseif ($sonsesli==”e” or $sonsesli==”i”) {$eki=”‘i”;}
elseif ($sonsesli==”u” or $sonsesli==”o”) {$eki=”‘u”;}
elseif ($sonsesli==”`” ) {$eki=”‘ü”;}
else {$eki=”‘ı”;}
break;case “de”: // ismin de hali -> Ahmet’te / Ayşe’de
if ($sonharf==”a” or $sonharf==”ı” or $sonharf==”u” or $sonharf==”o”) {$eki=”‘da”;}
elseif ($sonharf==”e” or $sonharf==”i” or $sonharf==”`”) {$eki=”‘de”;}
elseif (in_array($sonharf, $sertsessizler) and ($sonsesli==”a” or $sonsesli==”ı” or $sonsesli==”u” or $sonsesli==”o”) ) {$eki=”‘ta”;}
elseif (in_array($sonharf, $sertsessizler) and ($sonsesli==”e” or $sonsesli==”i” or $sonsesli==”`”) ) {$eki=”‘te”;}
elseif ($sonsesli==”a” or $sonsesli==”ı” or $sonsesli==”u” or $sonsesli==”o”) {$eki=”‘da”;}
elseif ($sonsesli==”e” or $sonsesli==”i” or $sonsesli==”`”) {$eki=”‘de”;}
elseif (in_array($sonharf, $sertsessizler)) {$eki=”‘ta”;}else {$eki=”‘da”;}
break;case “den”: // ismin de hali -> Ahmet’ten / Ayşe’den
if ($sonharf==”a” or $sonharf==”ı” or $sonharf==”u” or $sonharf==”o”) {$eki=”‘dan”;}
elseif ($sonharf==”e” or $sonharf==”i” or $sonharf==”`”) {$eki=”‘den”;}
elseif (in_array($sonharf, $sertsessizler) and ($sonsesli==”a” or $sonsesli==”ı” or $sonsesli==”u” or $sonsesli==”o”) ) {$eki=”‘tan”;}
elseif (in_array($sonharf, $sertsessizler) and ($sonsesli==”e” or $sonsesli==”i” or $sonsesli==”`”) ) {$eki=”‘ten”;}
elseif ($sonsesli==”a” or $sonsesli==”ı” or $sonsesli==”u” or $sonsesli==”o”) {$eki=”‘dan”;}
elseif ($sonsesli==”e” or $sonsesli==”i” or $sonsesli==”`”) {$eki=”‘den”;}
elseif (in_array($sonharf, $sertsessizler)) {$eki=”‘tan”;}else {$eki=”‘dan”;}
break;case “ile”: // beraberlik hali -> Ayşeyle / Ahmetle
if ($sonharf==”a” or $sonharf==”ı” or $sonharf==”u” or $sonharf==”o”) {$eki=”yla”;}
elseif ($sonharf==”e” or $sonharf==”i” or $sonharf==”`”) {$eki=”yle”;}elseif ($sonsesli==”a” or $sonsesli==”ı” or $sonsesli==”u” or $sonsesli==”o”) {$eki=”la”;}
elseif ($sonsesli==”e” or $sonsesli==”i” or $sonsesli==”`”) {$eki=”le”;}
else {$eki=”‘la”;}
break;
}
$sonuc= $ad.$eki;
return $sonuc ;
} -
YazarYazılar
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.