diff --git a/dico.php b/dico.php index e633651..4f18a6b 100644 --- a/dico.php +++ b/dico.php @@ -12,15 +12,20 @@ if (($lecteur = fopen("dico.csv", "r")) !== FALSE) { while (($ligne = fgetcsv($lecteur, 0, "\t")) !== FALSE) { if (substr($ligne[0], 0, 1) != "#" && count($ligne) >= 3) { [$mot, $definition, $auteur] = $ligne; + $mot = strtoupper($mot); if ($auteur) { - $dico[strtoupper($mot)] = "$definition $auteur"; - } else { - $dico[strtoupper($mot)] = $definition; + $definition .= " $auteur"; } $nb_espaces = substr_count($mot, ' '); if ($nb_espaces > 0) { - $dico[$mot] .= " (" . ($nb_espaces + 1) . " mots)"; + $definition .= " (" . ($nb_espaces + 1) . " mots)"; } + if (strlen($definition)) { + $dico[$mot] = [$definition]; + } else { + $dico[$mot] = []; + } + } } fclose($lecteur); @@ -62,9 +67,9 @@ function mots_espaces($longueur) foreach ($mots_de_n_lettres[$i] as $mot1) { foreach (mots_espaces($longueur - $i - 1) as $mot2) { if ($mot1 != $mot2) { - $dico["$mot1 $mot2"] = $dico[$mot1] && $dico[$mot2] ? "
  • {$dico[$mot1]}
  • {$dico[$mot2]}
  • " : $dico[$mot1] . $dico[$mot2]; + $dico["$mot1 $mot2"] = array_merge($dico[$mot1], $dico[$mot2]); yield "$mot1 $mot2"; - $dico["$mot2 $mot1"] = $dico[$mot2] && $dico[$mot1] ? "
  • {$dico[$mot2]}
  • {$dico[$mot1]}
  • " : $dico[$mot2] . $dico[$mot1]; + $dico["$mot2 $mot1"] = array_merge($dico[$mot2], $dico[$mot1]); yield "$mot2 $mot1"; $nb_mots += 2; if ($nb_mots > MAX_MOTS) { diff --git a/index.php b/index.php index 67a8173..b4eef03 100644 --- a/index.php +++ b/index.php @@ -106,7 +106,18 @@ $grille = new Grille($hauteur, $largeur, $id);

    Horizontalement

      -
      1. get_ligne($l, $largeur)] ?>
    1. +
    2. + get_ligne($l, $largeur)] ?> + + + +
        + get_ligne($l, $largeur)] as $definition) : ?> +
      1. + +
      + +
    @@ -114,12 +125,23 @@ $grille = new Grille($hauteur, $largeur, $id);

    Verticalement

      -
      1. get_colonne($c, $hauteur)] ?>
    1. +
    2. + get_colonne($c, $hauteur)] ?> + + + +
        + get_colonne($c, $hauteur)] as $definition) : ?> +
      1. + +
      + +
    - + name="lignes" value="" /> name="colonnes" value="" />