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

    Varsayılan

    Demin bir proje için bu fonksiyona işim düştü gene. Dur hazır aklımdayken şunu regexple adam ediym dedim. Açtığımda bu son halini buldum dosyada, meğer düzeltmişim epey zaman önce haberim yok

    En son kusursuz hali aşağıda. Php ile Türkçe bişiler yazan herkese duyurulur.

    Opsiyonel: Tamamen sessiz harften oluşan bir isim/nikneym ("gjklgjgjgjjklmn" gibi mesela) kullanan manyak bir üyeniz varsa bence Türkçe'de herkes bu saçma kelimeye "'ın" ekini ekler. İsteyen ilgili kısımdan uncomment edip "isimli üyenin " de yazdırabilir.


    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);    // 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



    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";}

    //isimde hiç sesli harf yoktur beki diye sağlama alıyoruz.
    // zaten böyle nikneym olmaz olsun.
    // aşağıdaki ikisinden hangisi imantıklı geliyorsa onu uncomment edin
    else  {$eki="'ın";} 
    //else  {$eki=" isimli üyenin";} 


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

     return 
    $sonuc;


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

    Varsayılan

    Etyka, aradan bir hayli zaman geçmiş . Aslında (bundan daha geniş kapsamlı) bir çalışma yapmayı düşünüyordum ama başka şeyelere daldığım için maalesef unutmuşum.

    Tüm isim işletim eklerini kapsayan bir şey yapmayı düşünüyordum. Benzeri bir çalışmam var ona ek olsun diye. Başlangıç olması açısından faydalı olacak paylaşımın teşekkür ediyorum.
    İmza yerine parmak bassam olur mu?

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

  3. #23
    Ceviz Üyesi
    Üyelik Tarihi
    10/2008
    Mesaj
    15

    Varsayılan

    Alıntı Turkoman, mesajından alıntı: Mesajı Gör
    Tüm isim işletim eklerini kapsayan bir şey yapmayı düşünüyordum. Benzeri bir çalışmam var ona ek olsun diye.
    Turkoman gayet gaza geldim şimdi
    Zaten ismin 7 tane hal eki var değişkenler son sesli harf + son harf + sesli harfler + sert sessizler

    bu durumda yapılacak olan
    1. bu fonksiyona isim dışında ek tipini gösteren ikinci bir girdi değişken eklenecek
    2. pçtk-bcdg sessizleri için bir array eklenip yumuşama- sertleşme kodu yazılacak
    3. 7 hal eki için 7 case den oluşan bir switch eklenecek.
    hmmm sanırım bu kadar.

    başladım yazmaya birazdan eklerim. buralarda olursan bi kontrol edersen bütün türkçe isim ekleri için çalışan dev bi fonksiyon olur karambolde

  4. #24
    Ceviz Üyesi
    Üyelik Tarihi
    10/2008
    Mesaj
    15

    Varsayılan

    Bütün isim işletim eklerini kapsayacak şekilde abarttım fonksiyonu da son hali burdaki konudan başka bir şeye dönüştüğü için aşağıdaki linkte abartılmış hali:
    -> Bütün Türkçe İsim Ekleri Fonksiyonu


 

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