Ceviz Forum'a hoşgeldiniz.
Toplam 3 sayfadan 1. sayfa 1 2 3 En SonEn Son
21 sonuçtan 1 ile 10 arası gösteriliyor
  1. #1
    Ceviz Üyesi
    Üyelik Tarihi
    10/2008
    Mesaj
    15

    Varsayılan 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 üyeden demek yerine aşağıdaki gibi efendi cümleler kurar:

    • 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 ....
    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 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;


  2. #2
    Ceviz Üyesi
    Üyelik Tarihi
    12/2007
    Mesaj
    36

    Varsayılan

    Çok faydalı bi kod teşekkürler.

  3. #3
    önder "lestioni" durmuş
    Üyelik Tarihi
    10/2006
    Yer
    istanbul/sefaköy
    Mesaj
    544

    Varsayılan

    ellerine sağlık, teşekkürler..
    ölümle yaşamı ayıran çizgi
    siyah'la beyaz'ı ayıramaz ki..

  4. #4
    Üçekmek
    Üyelik Tarihi
    05/2008
    Yer
    in altında
    Mesaj
    1,281

    Varsayılan

    Üç 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?

    Tez yazıyorum. Tezi tez yazmam için dualarınız eksik etmeyin.

  5. #5
    Ceviz Üyesi
    Üyelik Tarihi
    04/2009
    Mesaj
    110

    Varsayılan

    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 var eline sağlık çok güzel bir function..

  6. #6
    Ceviz Üyesi
    Üyelik Tarihi
    09/2004
    Mesaj
    229

    Varsayılan

    mükemmel ve gerekli bir fonksiyon olmuş.ellerine sağlık.

  7. #7
    Halen Çaylak... :)
    Üyelik Tarihi
    05/2008
    Yer
    Karşıyaka
    Mesaj
    537

    Varsayılan

    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.
    Geri dönmek güzel şey...Özledim seni ceviz |||
    So hard to understand of girls. Cause of crypted with md5 by god...
    <?php $girls =md5($girls); ?>
    http://itechinn.net || Aytekin...

  8. #8
    haymatlos
    Üyelik Tarihi
    10/2008
    Yer
    izmir
    Mesaj
    175

    Varsayılan

    Teşekkürler Etyka kardeş. İlaç gibi geldi.

  9. #9
    Ceviz Üyesi
    Üyelik Tarihi
    10/2007
    Mesaj
    141

    Varsayılan

    Gerçekten çok güzel bir fonksiyon olmuş.
    Elinize , emeğine sağlık.

  10. #10
    Özgür Yazılım
    Üyelik Tarihi
    03/2007
    Yer
    Çukurca, Hakkari, Turkey
    Mesaj
    398

    Varsayılan

    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.
    Ülkesinin yüksek istiklalini korumasını bilen Türk milleti, dilini de yabancı dillerin boyunduruğundan kurtarmalıdır.
    Mustafa Kemal ATATÜRK


 

Konu Bilgileri

Users Browsing this Thread

Şu an 1 kullanıcı bu konuya bakıyor. (0 üye ve 1 ziyaretçi)

Konu Etiketleri

Sık Kullanılanlar

Sık Kullanılanlar

Mesaj Yazma Hakları

  • Yeni mesajgöndermezsiniz
  • Cevap yazamazsınız
  • Dosya ekleyemezsiniz
  • Mesajınızı düzenleyemezsiniz
  •  
Yukarı Çık