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
Çözemediğim sorun - ücretli ücretsiz çözüm aranıyor
6
●278
- 02-09-2018, 02:05:58Merhabalar
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. } - 02-09-2018, 02:16:24
$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Üyeliği durdurulduherşey doğru hocam 1 şey hariçMisafir adlı üyeden alıntı: mesajı görüntüle
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.
cevabınız için teşekkür ederim hocamDaryl_Dixon adlı üyeden alıntı: mesajı görüntüle
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.