OW Debug - Notice
Message: Trying to access array offset on value of type null
File: /home/romarekl/public_html/sosyallift.com/ow_plugins/forum/controllers/topic.php
Line: 136
PHP Bütün Türkçe İsim Ekleri Fonksiyonu (isim'in,'nin,'e,'mek) Foru...
Loading...
 
tr
Whordark
Whordark Ağustos 8 '18
Bütün Türkçe İsim Ekleri Fonksiyonu

Türkçe isimlere uygun ekleri yazdırmak için bir isme gelen bütün hal/ işletim eklerini kapsayan fonksiyon bu. Bu kadar detaylı birşeyi kulanmak isteyen olabilir diye Türkçe İyelik Eki Ekleme Fonksiyonu'nun büyümüş hali kendisi.

xxx isimli üyedendemek yerine aşağıdaki gibi efendi cümleler kurar:

  • Begü'nün sayfası / Suat'ınsayfası / Ahmet'in....
  • Bengü'den mesaj aldınız / Suat'tan mesaj aldınız / Ahmet'ten....
  • Bengüylearkadaş ol / Suatlaarkadaş ol / Ahmet'le....
  • Bengü'yemesaj gönder /Suat'amesaj gönder / Ahmet'e....

isimeki($isim, 'den')şeklinde kullanılır.
İkinci değişken için geçerli veriler:'de' 'den' 'e' 'i' 'in' 'ile'(yani ismin e hali , i hali vb)

PHP:

/* İ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")
{
header 'Content-type: text/html; charset=utf-8');


$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 bulduk


switch $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="'ü";}
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 ;
}

Kaynak:http://forum.ceviz.net/t/butun-turkce-isim-ekleri-fonksiyonu.76372/

Düzenlendi... Serkan BEKİROĞULLARI (Haziran 13 '21)
Paylaş:
Whordark
Whordark Ağustos 11 '18
<?php /*ismin nikneymin sonuna gereken eki ekler */ 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); $sonharf = substr($isim, -1); // isimdeki son karakteri bulduk /// 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 switch ($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=="ü" or $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=="ü" 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=="ö" 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=="ü" or $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="'ü";} 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=="ü" 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=="ü" 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=="ü" or $sonsesli=="ö") {$eki="'da";} 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=="ü" 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=="ü" 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=="ü" or $sonsesli=="ö") {$eki="'dan";} 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=="ü" 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=="ö" or $sonsesli=="ü") {$eki="le";} else {$eki="'la";} break; } $sonuc= $ad.$eki; return $sonuc; } function ucwords_tr($gelen){ $sonuc=''; $kelimeler=explode(" ", $gelen); foreach ($kelimeler as $kelime_duz){ $kelime_uzunluk=strlen($kelime_duz); $ilk_karakter=mb_substr($kelime_duz,0,1,'UTF-8'); if($ilk_karakter=='Ç' or $ilk_karakter=='ç'){ $ilk_karakter='Ç'; }elseif ($ilk_karakter=='Ğ' or $ilk_karakter=='ğ') { $ilk_karakter='Ğ'; }elseif($ilk_karakter=='I' or $ilk_karakter=='ı'){ $ilk_karakter='I'; }elseif ($ilk_karakter=='İ' or $ilk_karakter=='i'){ $ilk_karakter='İ'; }elseif ($ilk_karakter=='Ö' or $ilk_karakter=='ö'){ $ilk_karakter='Ö'; }elseif ($ilk_karakter=='Ş' or $ilk_karakter=='ş'){ $ilk_karakter='Ş'; }elseif ($ilk_karakter=='Ü' or $ilk_karakter=='ü'){ $ilk_karakter='Ü'; }else{ $ilk_karakter=strtoupper($ilk_karakter); } $digerleri=mb_substr($kelime_duz,1,$kelime_uzunluk,'UTF-8'); $sonuc.=$ilk_karakter.kucuk_yap($digerleri).' '; } $son=trim(str_replace(' ', ' ', $sonuc)); return $son; } function kucuk_yap($gelen){ $gelen=str_replace('Ç', 'ç', $gelen); $gelen=str_replace('Ğ', 'ğ', $gelen); $gelen=str_replace('I', 'ı', $gelen); $gelen=str_replace('İ', 'i', $gelen); $gelen=str_replace('Ö', 'ö', $gelen); $gelen=str_replace('Ş', 'ş', $gelen); $gelen=str_replace('Ü', 'ü', $gelen); $gelen=strtolower($gelen); return $gelen; } ?>
Düzenlendi... Whordark (Ağustos 11 '18)