PHP: i kullanıcı tarafından bir giriş dizesi kelimeleri incelemek gerekir ve bir tepki çıkışına matchs göre

0 Cevap php

Şu anda ben çok basit bir otomatikcevaplayıcı / chatbot var. O ağır modifiye edilmesi gerekir (bir yardım bot gibi) daha karmaşık bir rol oynamak için almak için. Ben bir php programcı değilim ama ben biraz araştırma sonrası, ben sadece php.net de tam pregmatch ve fopen vs üzerine yazılar anlamıyorum yapılması gerekenleri biliyorum. Ben hazır helpbot indirebilirsiniz biliyorum ama nerede o benim için bir öğrenme eğrisi nedir? Ben de bir acelem yok ve ben bu küçük sorunlar keyfini çıkarın. Ben başka bir yerde bu soruyu sordu ve orada knowitalls şey biliyordu ya da sadece rahatsız olamazdı ya da - onlar sadece bir prefabrik helpbot indirmek için bana tuttu.

Herhangi bir yardım büyük mutluluk duyacağız ama ben zaten o çalışmayı denedim çünkü php kitaplarına beni geri göndermeyin. Ben taze bir yaklaşım gerekir.

I have a form for users to input a (maxlength) 50 character text question. I think it would be an advantage to limit the number of characters a user can input so that the manipulation of the strings becomes easier. Once the user submits the question it needs to be passed to a variable.

  1. Ben bir dosyada kelimelerin bir listesini dize sözlerini karşılaştırmak istiyorum
  2. o sözler ona zaten reklam onları dosyada yokmuş.
  3. Belirli anahtar kelimeleri belirlemek (örneğin: kim, ne, nerede, ne zaman, nasıl, niçin, hangi) soru yıkmak için
  4. ayrıca arıza soru (isimler Açıkçası ben elle oluşturmak zorunda olacak oldukça büyük bir liste olacaktır) herhangi isimler tanımlamak.
  5. yanıtların bir listesini (elle yaratacak başka listesi) ile sonuçları karşılaştırın.
  6. çıkışı, en iyi uyan yanıt.

Aşağıdaki kod temel ve henüz anahtar kelime kombinasyonları için giriş dizesi kontrol etmez. Ben en iyi olarak bunu anlayabiliyorum gibi kod yorumladı ettik.

Aşağıdaki benim responder002.php dosya:

/*create the 'question' variable for the users text to be stored in:*/

$question=strtolower($_POST['question']));

/*begin creating the form*/
$ask='<br /><form action="responder002.php" method="POST">Question: <input type="text" name="question">
<input type="submit" value="Ask"></form>';
$answer='<h2>Answer</h2><br />';
/*if the $question variable is empty then ask for input*/
if (empty($question))
{
  print $ask;

  exit;
}
/*otherwise ....*/
else
{

  /*if the variable contains the following strings output to screen the matching response*/
  if ($question=="hello"||$question=="Hello"||$question=="hi"||$question=="Hi"||$question=="G'day"||$question=="hey")
  {
    $answerq="Hello how are you?";
  }
  if ($question=="good"||$question=="good thanks")
  {
    $answerq="Im glad to hear you are good.";
  }
  if ($question=="fine"||$question=="fine thanks") {
    $answerq="Im glad to hear you are fine.";
  }

  echo '<i>You asked me:</i> '.$question.'
    <br />
    <i>I replied:';
  if (empty($answerq)) { 
    echo 'Sorry, I dont know the answer';
  }
  echo '</i>'.$answerq.' '.$ask.;
  exit;
}
echo '</table>';
$h->endpage();
?>

0 Cevap