+ 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
    Üye
    Üyelik Tarihi
    10/2008
    Mesaj
    7

    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
    self.life.start() Raiden Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    10/2004
    Yer
    /home/Raiden
    Mesaj
    3,806

    güzel
    Yusuf Koç

    "aramaya inanmayanlar suphesiz ki kaybedenlerden olacaktirlar"

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

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

  4. #4
    Üye
    Üyelik Tarihi
    07/2008
    Mesaj
    31

    güzelmiş eline sağlık

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

    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"
    Çıktığın merdivene tekme atma ki, başkaları da çıkabilsin.

    Sahip olduğu bilgi ve zekânın yükünü taşıyabilen, mütevazı; taşıyamayan, ukala olur.

  6. #6
    Yönetim Kurulu chesterx Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    12/2007
    Yer
    İstanbul
    Mesaj
    2,437

    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
    where id='Linux' zbahadir Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    07/2006
    Yer
    Trabzon
    Mesaj
    817

    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
    Yönetim Kurulu chesterx Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    12/2007
    Yer
    İstanbul
    Mesaj
    2,437

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

    www.sercanvirlan.com

  9. #9
    Üye bilgenc Adlı Üyenin Profil Grafiği
    Üyelik Tarihi
    06/2007
    Mesaj
    62

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

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

    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