= 'A') && ($ch <= 'Z')) $ch = strtolower($ch); $str[$i] = $ch; } $str = str_replace('Á', 'á', $str); $str = str_replace('É', 'é', $str); $str = str_replace('Í', 'í', $str); $str = str_replace('Ó', 'ó', $str); $str = str_replace('Ö', 'ö', $str); $str = str_replace('Ő', 'ő', $str); $str = str_replace('Ú', 'ú', $str); $str = str_replace('Ü', 'ü', $str); $str = str_replace('Ű', 'ű', $str); return $str; } // A szóközre cserélendő karakterek $search = array(',', '.', '!', ':', ';', '"', "'", '/', "\\", '<', '>', "\t", "\n"); $question = DownStr(str_replace($search, ' ', $question)); // A dupla szóközök eltávolítása while(strpos($question, ' ') !== false) $question = str_replace(' ', ' ', $question); // A szöveg elején és végén lévő szóközök eltávolítása $question = trim($question); // Kérdés keresése a kérdés-fájlban (ez a függvény egyszerűen kicserélhető, hogy adatbázisban keressen) function FindQ($question) { // A szövegfájl tartalmának beolvasása a $tmp tömbbe; az üres sorok és sorvégjelek nélkül $tmp = file('q_02.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach($tmp as $line) { // A szövegfájl aktuális sorát szétválasztjuk a vesszőnél $la = explode(',', $line); // Ha találunk olyan sort, ami megegyezik a kérdésünkkel, visszaadjuk a kódját if($la[0] == $question) return $la[1]; } // Ha nincs egyezés, falséval térünk vissza return false; } // A válasz beolvasása a válasz-fájlból (ez a függvény egyszerűen kicserélhető, hogy adatbázisban keressen) function FindA($answernum) { $tmp = file('a_02.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach($tmp as $line) { // A szövegfájl aktuális sorát szétválasztjuk a pipe jelnél (A vessző szerepelhet a válaszban!) $la = explode('|', $line); // Ha találunk olyan sort, aminek a kódja megegyezik a keresettel, visszaadjuk if($la[1] == $answernum) return $la[0]; } // Ha nincs egyezés, falséval térünk vissza return false; } // Megnézzük, hogy a kérdés szerepel-e a robot "tudásbázisában" $answer = FindQ($question); // Ha ismeretlen a kérdés: if(!$answer) $answer = 'Ezt nem értettem'; else { $answer = FindA($answer); if(!$answer) $answer = 'Erre nem tudok válaszolni...'; } ?> Chatbot