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

Konu: Türkçe İyelik Eki Ekleme Fonksiyonu

  1. #1

    Üyelik Tarihi
    10/2008
    Mesaj
    7
    Ceviz Üyesi

    Varsayılan Türkçe İyelik Eki Ekleme Fonksiyonu

    Şimdi varsayalım ki sitemizin Ahmet isimli bir üyesi var.
    "Ahmet'in doğum günü"
    veya "Ahmet'in gönderdikleri" gibi bir şeyler yazdırmamız gerekir genelde. İngilizce'de bu iş kolay ismin sonuna 's eklenir olur biter.

    Türkçe'de üyenin adı Ahmet ise Ahmet'in, Bengü ise Bengü'nün demek gerekir. Nin, nın, un, ün.... isimden sonra gelen ek değişir. Genelde bu sorunu kodda "XXX isimli üyenin" yazdırarak çözeriz.
    Az önce yazdım bu fonksiyonu kesin birilerinin işine yarar, uğraşmasın boşuna
    Üye adına göre uygun eki yazdırmak için aşağıdaki fonksiyonu kullanabilirsiniz.

    PHP Kodu:
    // ismin nikneymin sonuna iyelik eki ekler
    function iyelik($ad)
    {
    $buyuk = array("A""I""E""İ""U","O""Ü""Ö");
    $kucuk = array("a""ı""e""i""u","o""ü""ö");
    $kucultulmus str_replace($buyuk$kucuk$ad);


    $isim=trim($kucultulmus);
    $sonharf substr($isim, -1);    // son karakter
    $oncekiharf substr($isim, -21); // sondan bi önceki karakter


    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 (
    $oncekiharf=="a" or $oncekiharf=="ı") {$eki="'ın";}
    elseif (
    $oncekiharf=="e" or $oncekiharf=="i") {$eki="'in";}
    elseif (
    $oncekiharf=="u" or $oncekiharf=="o") {$eki="'un";}
    elseif (
    $oncekiharf=="u" or $oncekiharf=="o") {$eki="'un";}
    else  {
    $eki=" isimli üyenin";} //Gerek yok belki ama işimizi sağlama alıyoruz

    /// Ahmet'in, Bengü'nün, Lost_Boy'un şeklinde yazılıyor 
    $sonuc$ad.$eki;

     return 
    $sonuc;


  2. #2
    Raiden Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    10/2004
    Yer
    /home/Raiden
    Mesaj
    3,922
    self.life.start()

    Varsayılan

    güzel
    Yusuf Koç

    "aramaya inanmayanlar suphesiz ki kaybedenlerden olacaktirlar"

  3. #3
    zbahadir Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    07/2006
    Yer
    Trabzon
    Mesaj
    1,612
    where id='Linux'

    Varsayılan

    Hep alkıma geliyordu ama üşendim yazmaya.
    Teşekkürler.

  4. #4

    Üyelik Tarihi
    07/2008
    Mesaj
    31
    Ceviz Üyesi

    Varsayılan

    güzelmiş eline sağlık

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

    Varsayılan

    Denemedim(mutlaka deneyeceğim çünkü yaptığım bir çalışmanın küçük bir kısmını teşgil ediyor) ama merak ettim sorayım dedim.

    Peki, isim Mert olursa yine çalışır mı?

    Ekleme: "Mert isimli üyenin"
    İmza yerine parmak bassam olur mu?

  6. #6
    chesterx Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    12/2007
    Yer
    İstanbul
    Mesaj
    2,438
    Ceviz Üstadı

    Varsayılan

    Alıntı Turkoman, mesajından alıntı: Mesajı Gör
    Peki, isim Mert olursa yine çalışır mı?
    PHP Kodu:
    >>>Mert isimli üyenin 
    Çıktısını veriyor.

    Güzel olmuş ellerine sağlık.
    Bilişim; bilgi ve yetenek meselesi değil ahlak ve karakter meselesidir. . .

    www.sercanvirlan.com

  7. #7
    zbahadir Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    07/2006
    Yer
    Trabzon
    Mesaj
    1,612
    where id='Linux'

    Varsayılan

    Alıntı Turkoman, mesajından alıntı: Mesajı Gör
    Denemedim(mutlaka deneyeceğim çünkü yaptığım bir çalışmanın küçük bir kısmını teşgil ediyor) ama merak ettim sorayım dedim.

    Peki, isim Mert olursa yine çalışır mı?

    Ekleme: "Mert isimli üyenin"
    Bu şekilde olursa çalışır;

    PHP Kodu:
    <?php

    // ismin nikneymin sonuna iyelik eki ekler
    function iyelik($ad)
    {
    $buyuk = array("A""I""E""İ""U","O""Ü""Ö");
    $kucuk = array("a""ı""e""i""u","o""ü""ö");
    $kucultulmus str_replace($buyuk$kucuk$ad);


    $isim=trim($kucultulmus);
    $sonharf substr($isim, -1);    // son karakter
    $oncekiharf substr($isim, -21); // sondan bi önceki karakter

    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 (
    $sonharf=="t" or $sonharf=="t") {$eki="'in";}
    elseif (
    $oncekiharf=="a" or $oncekiharf=="ı") {$eki="'ın";}
    elseif (
    $oncekiharf=="e" or $oncekiharf=="i") {$eki="'in";}
    elseif (
    $oncekiharf=="u" or $oncekiharf=="o") {$eki="'un";}
    elseif (
    $oncekiharf=="u" or $oncekiharf=="o") {$eki="'un";}
    elseif (
    $oncekiharf=="m" or $oncekiharf=="m") {$eki="'in";}

    else  {
    $eki=" isimli üyenin";} //Gerek yok belki ama işimizi sağlama alıyoruz

    /// Ahmet'in, Bengü'nün, Lost_Boy'un şeklinde yazılıyor
    $sonuc$ad.$eki;

     return 
    $sonuc;
    }

    echo 
    iyelik("Mert");

  8. #8
    chesterx Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    12/2007
    Yer
    İstanbul
    Mesaj
    2,438
    Ceviz Üstadı

    Varsayılan

    Fakat "Mart, Mort" gibi olursa 'in ekliyor
    Bilişim; bilgi ve yetenek meselesi değil ahlak ve karakter meselesidir. . .

    www.sercanvirlan.com

  9. #9
    bilgenc Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2007
    Mesaj
    63
    Ceviz Üyesi

    Varsayılan

    çok iyi düşünülmüş. elinize sağlık.
    başvurularınız için; hello[nokta]adincrea.com

  10. #10
    zbahadir Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    07/2006
    Yer
    Trabzon
    Mesaj
    1,612
    where id='Linux'

    Varsayılan

    Alıntı chesterx, mesajından alıntı: Mesajı Gör
    Fakat "Mart, Mort" gibi olursa 'in ekliyor
    Biraz elden geçmesi gerekiyor.

+ 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