"Робо-Человека" Смарт


делаю "humanozinho", которое вы отправляете сообщение, и он тебе отвечает.

Пример: Если вы имеете "Привет" он тебе отвечает "Привет, все хорошо?".

я Знаю, что это основы, вы можете использовать switch.

switch($mensagem){
case "Oi":
    $responder  = "Ola";
    break;
case "xau":
    $responder = "Xau!";
    break;
}

, Но я хотел бы автоматически определить, что он ввести.

Пример: Если я пишу фразу "Здравствуйте, что его имя", он бы его "имя" и "hello" в предложении и ответит "Здравствуйте, меня зовут Джон удовольствие!"

То, что я должен учиться и учиться, чтобы сделать прототип такого уровня?

 3
php
Author: Wallace Maxters, 2016-12-13

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

  3
Author: Miguel, 2017-01-02 02:16:29

Смотрите, если это тебя удовлетворяет:

<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?

  2
Author: Leonardo, 2017-04-13 12:59:35