Bonjour,
Voila en fait j'essaye de faire un script qui détecte certains mots dans une phrase et qui renvoie une réponse en fonction de la question.
J'ai donc commencer par tester avec la phrase "T'est sur ?";
Voici le code :
Si il ne trouve pas les mots clés, il est censés renvoyer '?'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 $regSur = "/[t'est|tu est|tu en est|t'es|tai|t'ai|test](.+)[sur|sure|sûr|sûre]/isU"; $idRepSur = rand(1,3); switch ($idRepSur) { case 1: $repSur = "Oui j'en suis sûr."; break; case 2: $repSur = "A moitié sûr."; break; case 3: $repSur = "Non j'en suis pas sûr."; break; } $tab_reponsesSimples[$regSur] = $repSur; $reponse = '?'; foreach($tab_reponsesSimples as $key => $val){ if(preg_match($key, $phrase)){ $reponse = $val; } } return $reponse;
Le problème c'est quand tapant n'importe quoi comme par exemple "cegref fkoolfk", il me réponds une des 3 réponses comme si j'avais tapé "T'est sur".
Quelqu'un à une idée du problème ou une meilleure solution ?
Merci.
Partager