+ Cevap Yaz
Toplam 2 sayfadan 1. sayfa 1 2 En SonEn Son
11 sonuçtan 1 ile 10 arası gösteriliyor

Konu: Bütün Türkçe İsim Ekleri Fonksiyonu

  1. #1

    Üyelik Tarihi
    10/2008
    Mesaj
    7
    Ceviz Üyesi

    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
    cleaner80 Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    12/2007
    Mesaj
    36
    Ceviz Üyesi

    Varsayılan

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

  3. #3
    lestioni Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    10/2006
    Yer
    istanbul/sefaköy
    Mesaj
    523
    önder "lestioni" durmuş

    Varsayılan

    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]

  4. #4
    Turkoman Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    05/2008
    Yer
    in altında
    Mesaj
    1,247
    Üçekmek

    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?

  5. #5
    recepyuksel Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    04/2009
    Mesaj
    111
    Ceviz Üyesi

    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
    CeaSeR Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    09/2004
    Mesaj
    223
    Ceviz Üyesi

    Varsayılan

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

  7. #7
    I-TECH-INN Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    05/2008
    Yer
    Karşıyaka
    Mesaj
    420
    Halen Çaylak... :)

    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.
    So hard to understand of girls. Cause of crypted with md5 by god...
    <?php $girls =md5($girls); ?>
    http://www.aytek.in || Aytekin...

  8. #8

    Üyelik Tarihi
    10/2008
    Mesaj
    137
    Ceviz Üyesi

    Varsayılan

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

  9. #9

    Üyelik Tarihi
    10/2007
    Mesaj
    131
    Ceviz Üyesi

    Varsayılan

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

  10. #10

    Üyelik Tarihi
    03/2007
    Yer
    /home/MaviAtes
    Mesaj
    394
    Üyeliği İptal Edildi

    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.

+ Cevap Yaz

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Tags for this Thread

Bookmarks

Mesaj Yazma Hakları

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