• 02-09-2018, 01:43:42
    #1
    Üyeliği durduruldu
    merhaba arkadaşlar. uzun zamandır bu konuda çalışıyorum ama bir sonuca varamadım henüz. Belki siz çözersiniz diye yazıyorum.

    Aşşağıda 10 tane eş anlamı olan bir kelimem var. 1 tanede örnek cümle oluşturdum. cümle yi inceleyelim

    Eş anlamlı kelime ve eş anlamlıları "tuvalet,abiye, kademhane, memişhane, kenef, hela, yüznumara, ayakyolu, abdesthane"

    cümle 1 "merhaba tuvalet e gidebilir miyim yada abdesthane ye"

    program tuvalet kelimesine geldiğinde eş anlamlı kelimelerden random olarak herhangi 1 tanesiyle değiştirsin. Tabi tuvalet kelimesini gidip tuvalet ile değişmesin, diğer eş anllamlılarıyla değişsin

    sonra abdesthane ye gelip, yine benzer şekilde değişim yapsın.

    Çıktı örneği: "merhaba ayakyolu e gidebilir miyim yada hela ye" "merhaba abdesthane e gidebilir miyim yada tuvalet ye" v.b


    burdaki eş anlamlı kelime örnek tabi. yapmak istediğim tüm eş anlamlı kelimeler ile ilgili bir spin tarzı bişey yapmak. Mantık yukardaki gibi olsun istiyorum.

    not: ücretlide yardım alabilirim.

    NOT: SORUN ÇÖZÜLMÜŞTÜR
  • 02-09-2018, 01:45:49
    #2
    Python ile range döngüsü'nü kullanarak yapabilirsin google'a yaz çıkacaktır.
  • 02-09-2018, 02:05:58
    #3
    Merhabalar

    Yanlış anlamadıysam böyle bir şeye ihtiyacınız var:

    <?php
    
    $cumle = "Merhaba tuvalet ne tarafta?";
    
    if(strpos($cumle , 'tuvalet') == true) {
    
    $esanlamlilar = array('hela','ayakyolu'); //Eş anlamlıları dizile
    $rastgele = array_rand($esanlamlilar , 1); //Rastgele 1 tanesini seç
    $esanlamli = $esanlamlilar[$rastgele]; //Dizi içerisinden seçileni seç
    echo str_replace('tuvalet' , $esanlamli, $cumle); //Tuvaletin yerine koy.
    
    }
    • GonGo
    GonGo bunu beğendi.
    1 kişi bunu beğendi.
  • 02-09-2018, 02:16:24
    #4
    $array = array('tuvalet', 'abiye', 'kademhane', 'memişhane', 'kenef', 'hela', 'yüznumara', 'ayakyolu', 'abdesthane');
    
    $text = 'merhaba tuvalet e gidebilir miyim yada abdesthane ye';
    
    foreach($array as $item){
    
        if(strpos($text, $item) !== FALSE){
    
            $new_array = array_flip($array);
            unset($new_array[$item]);
    
            $replace = array_rand($new_array, 1);
    
            $text = str_replace($item, $replace, $text);
    
        }
    
    }
  • 02-09-2018, 02:21:26
    #5
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Merhabalar

    Yanlış anlamadıysam böyle bir şeye ihtiyacınız var:

    <?php
    
    $cumle = "Merhaba tuvalet ne tarafta?";
    
    if(strpos($cumle , 'tuvalet') == true) {
    
    $esanlamlilar = array('hela','ayakyolu'); //Eş anlamlıları dizile
    $rastgele = array_rand($esanlamlilar , 1); //Rastgele 1 tanesini seç
    $esanlamli = $esanlamlilar[$rastgele]; //Dizi içerisinden seçileni seç
    echo str_replace('tuvalet' , $esanlamli, $cumle); //Tuvaletin yerine koy.
    
    }
    herşey doğru hocam 1 şey hariç

    kodunuzdaki eş anlamlı kelimeleri düzelteler çalıştırdım kodu
    $cumle = "Merhaba tuvalet ne tarafta?";
     
    if(strpos($cumle , 'tuvalet') == true) {
     
    $esanlamlilar = array('tuvalet','abiye','kademhane','memişhane','kenef','hela','yüznumara','ayakyolu','abdesthane'); //Eş anlamlıları dizile
    $rastgele = array_rand($esanlamlilar , 1); //Rastgele 1 tanesini seç
    $esanlamli = $esanlamlilar[$rastgele]; //Dizi içerisinden seçileni seç
    echo str_replace('tuvalet' , $esanlamli, $cumle); //Tuvaletin yerine koy.
     
    }
    sonuçlardan sorunlu olan: Merhaba tuvalet ne tarafta?

    değişecek kelime tuvaletse , eşanlamlıları random atarken, değişecek kelimeyi random olarak atmasın.

    cevabınız için teşekkür ederim.



    Daryl_Dixon adlı üyeden alıntı: mesajı görüntüle
    $array = array('tuvalet', 'abiye', 'kademhane', 'memişhane', 'kenef', 'hela', 'yüznumara', 'ayakyolu', 'abdesthane');
    
    $text = 'merhaba tuvalet e gidebilir miyim yada abdesthane ye';
    
    foreach($array as $item){
    
        if(strpos($text, $item) !== FALSE){
    
            $new_array = array_flip($array);
            unset($new_array[$item]);
    
            $replace = array_rand($new_array, 1);
    
            $text = str_replace($item, $replace, $text);
    
        }
    
    }
    cevabınız için teşekkür ederim hocam

    değişecek kelime tuvaletse , eşanlamlıları random atarken, değişecek kelimeyi random olarak atmasın.

    yani tuvalet kelimesini gidip tekrar tuvaletle değiştiriyor.

    cevabınız için teşekkür ederim.
  • 02-09-2018, 04:05:08
    #7
    http://onurwp.com/kelime.php

    Azmettim yaptım.