array('e', 'es', 'e', 'ons', 'ez', 'ent'), 'futur' => array('erai', 'eras', 'era', 'erons', 'erez', 'eront'), 'imparfait' => array('ais', 'ais', 'ait', 'ions', 'iez', 'aient') ); $libellesTemps = array( 'present' => 'Present', 'futur' => 'Futur', 'imparfait' => 'Imparfait' ); $pronoms = array('je', 'tu', 'il', 'nous', 'vous', 'ils'); $verbeSaisi = filter_input(INPUT_POST, 'verbe', FILTER_UNSAFE_RAW); $verbeSaisi = is_string($verbeSaisi) ? trim($verbeSaisi) : ''; $verbe = strtolower($verbeSaisi); $tempsChoisis = filter_input(INPUT_POST, 'temps', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); $tempsChoisis = is_array($tempsChoisis) ? $tempsChoisis : array(); $messageErreur = ''; $conjugaisons = array(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($verbe === '') { $messageErreur = 'Veuillez saisir un verbe.'; } elseif (strlen($verbe) < 3 || substr($verbe, -2) !== 'er') { $messageErreur = 'Veuillez saisir un verbe du premier groupe.'; } elseif ($tempsChoisis === array()) { $messageErreur = 'Veuillez choisir au moins un temps.'; } else { $radical = substr($verbe, 0, strlen($verbe) - 2); foreach ($tempsChoisis as $temps) { if (!isset($terminaisons[$temps], $libellesTemps[$temps])) { continue; } $formes = array(); foreach ($pronoms as $index => $pronom) { $forme = $radical . $terminaisons[$temps][$index]; if ($pronom === 'je' && preg_match('/^[aeiouh]/', $forme) === 1) { $formes[] = "j'" . $forme; } else { $formes[] = $pronom . ' ' . $forme; } } $conjugaisons[] = array( 'temps' => $libellesTemps[$temps], 'formes' => $formes ); } if ($conjugaisons === array()) { $messageErreur = 'Aucun temps valide n a ete transmis.'; } } }