Çok faydalı bi kod teşekkürler.
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 üyeden demek yerine aşağıdaki gibi efendi cümleler kurar:
isimeki($isim, 'den') şeklinde kullanılır.
- Begü'nün sayfası / Suat'ın sayfası / Ahmet'in ....
- Bengü'den mesaj aldınız / Suat'tan mesaj aldınız / Ahmet'ten ....
- Bengüyle arkadaş ol / Suatla arkadaş ol / Ahmet'le ....
- Bengü'ye mesaj gönder /Suat'a mesaj gönder / Ahmet'e ....
İkinci değişken için geçerli veriler: 'de' 'den' 'e' 'i' 'in' 'ile' (yani ismin e hali , i hali vb)
PHP Kodu:/*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;
}
ellerine sağlık, teşekkürler..
ölümle yaşamı ayıran çizgi
siyah'la beyaz'ı ayıramaz ki..
[önder'in odası..] || [arkadaşlarınıza değil, google'a sorun]
Üç defa mesaj yazmayı denedim internet bağlantılarından mıdır nedir? Mümkün olmadı. Ellerine sağlık çok güzel olmuş.
İmza yerine parmak bassam olur mu?
elin deymişken hazır büyük/küçük ünlü uyumuna uyuyor mu uymuyor mu kontrol da et oradan da türkçe kökenli mi değil mi değilse nereden gelmiş türkçeye falan filan derken translate e kadar yolu vareline sağlık çok güzel bir function..
mükemmel ve gerekli bir fonksiyon olmuş.ellerine sağlık.
Geçmişten gelen bir yanıt :
Gerçekten çok tebrik ederim. Forumda bu kadar fazla bulunmama rağmen bu kod gözümden kaçmış. Şans eseri bir arama sonucunda Türkçe İyelik Eki (Türkçe İyelik Eki Ekleme Fonksiyonu) fonksiyonunuzu gördüm. Oradan buraya geldim.
Elinize emeğinize sağlık, güzel bir çalışma.
So hard to understand of girls. Cause of crypted with md5 by god...
<?php $girls =md5($girls); ?>
http://www.aytek.in || Aytekin...
Teşekkürler Etyka kardeş. İlaç gibi geldi.
Gerçekten çok güzel bir fonksiyon olmuş.
Elinize , emeğine sağlık.
Hem böyle bir fikri düşündüğünüz için, hem geliştirdiğiniz için en önemlisi paylaştığınız için teşekkürler.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks