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.
$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.