"Робо-Человека" Смарт
делаю "humanozinho", которое вы отправляете сообщение, и он тебе отвечает.
Пример: Если вы имеете "Привет" он тебе отвечает "Привет, все хорошо?".
я Знаю, что это основы, вы можете использовать switch
.
switch($mensagem){
case "Oi":
$responder = "Ola";
break;
case "xau":
$responder = "Xau!";
break;
}
, Но я хотел бы автоматически определить, что он ввести.
Пример: Если я пишу фразу "Здравствуйте, что его имя", он бы его "имя" и "hello" в предложении и ответит "Здравствуйте, меня зовут Джон удовольствие!"
То, что я должен учиться и учиться, чтобы сделать прототип такого уровня?
2 answers
Вы Можете сделать так:
$frase = 'Olá, qual seu nome?';
$ola = stripos($frase, 'olá') !== false; // cada uma destas vai ser true ou false
$nome = stripos($frase, 'nome') !== false;
$adeus = stripos($frase, 'adeus') !== false;
switch(true) {
case($ola && $nome):
echo 'Olá, meu nome é João prazer!';
break;
case($ola):
echo 'Olá para ti também';
break;
case($adeus):
echo 'Xau';
break;
default:
echo 'Não queres falar comigo?';
}
,array
:
$frase = 'Olá qual seu nome';
$palavras = explode(' ', $frase);
switch(true) {
case(in_array('Olá', $palavras) && in_array('nome', $palavras)):
echo 'Olá, meu nome é João prazer!';
break;
case(in_array('Olá', $palavras)):
echo 'Olá para ti também';
break;
case(in_array('adeus', $palavras)):
echo 'Xau';
break;
default:
echo 'Não queres falar comigo?';
}
Же предпочитаю первое, что вы можете сразу определить слова/фразы, которые pretentdes сделать match
Смотрите, если это тебя удовлетворяет:
<form acton="#" method="post">
<input name="speak" />
<button>Go!</button>
</form>
<?php
function clearId($id){
$special = Array('Á','È','ô','Ç','á','è','Ò','ç','Â','Ë','ò','â','ë','Ø','Ñ','À','Ð','ø','ñ','à','ð','Õ','Å','õ','Ý','å','Í','Ö','ý','Ã','í','ö','ã',
'Î','Ä','î','Ú','ä','Ì','ú','Æ','ì','Û','æ','Ï','û','ï','Ù','®','É','ù','©','é','Ó','Ü','Þ','Ê','ó','ü','þ','ê','Ô','ß','‘','’','‚','“','”','„');
$clearspc = Array('a','e','o','c','a','e','o','c','a','e','o','a','e','o','n','a','d','o','n','a','o','o','a','o','y','a','i','o','y','a','i','o','a',
'i','a','i','u','a','i','u','a','i','u','a','i','u','i','u','','e','u','c','e','o','u','p','e','o','u','b','e','o','b','','','','','','');
$newId = str_replace($special, $clearspc, $id);
return strtolower($newId);
}
function comparaComArray($array, $input) {
foreach($array as $value)
if(in_array($value, $input))
return true;
return false;
}
if(count($_POST) > 0) {
$words = strtolower(clearId($_POST['speak']));
$words = explode(' ', $words);
$saudacoes = array('oi', 'ola', 'ei', 'hello');
if(comparaComArray($saudacoes, $words) and !in_array('nome', $words))
echo "Oi. <br>";
else if(comparaComArray($saudacoes, $words) and in_array('nome', $words))
echo "Oi, meu nome e jose, prazer. <br>";
else if(in_array('tchau', $words))
echo "Bye Bye. <br>";
else if(in_array('seu', $words) and in_array('pai', $words) and in_array('?', $words))
echo "Meu pai é o Antonio. <br>";
else if(in_array('quantos', $words) and in_array('anos', $words) and in_array('voce', $words))
echo "Ops, acabei de nascer, então tenho nenhum ano de idade<br>";
}
?>
В Основном, поток кода является сбор текстовое поле формы, убрать подчеркивание его разделения он в каждый интервал (чтобы было легче сравнивать), и в конце пойти сравнения, если array
слова записи есть такие слова, соответственно, что вы даете ответ, я думал эта вещь, array
, потому что, когда делал, видел, что пользователь может ввести привет или привет или другие, тогда я реализовал функцию, которая получает только два - arrays
, с dicionario системы и другой пользовательский ввод, поэтому он бродит по dicionario ate найти слово, которое содержит пользовательский ввод.
Например, входы и выходы:
Вход: Здравствуйте
Выход: Привет.
Запись: Здравствуйте, как вас зовут ?
Выход: Привет, мое имя и хосе, удовольствие.
Запись: Сколько вам лет ?
Выход: к сожалению, я только что родился, так что у меня ни один год возраст
Входной сигнал: Кто ваш отец ?
Выход: Мой отец-Антонио.
Вход: до свидания хосе
Выход: Bye Bye
Сомнений только комментарий.
Источник прокладки акцент: Как удалить акцент на загрузки с помощью php?