SOUNDEX et Php

Bonjour !
Je suis en train de faire un petit site proposant un dictionnaire (genre le traducteur de google avec une zone de texte) orthographique. J’ai donc une bdd remplie de mots, et lorsque l’utilisateur veut verifier l’orthographe de son texte, je vais voir dans ma bdd si les mots qu’il a entrés sont justes. Seulement, l’erreur est humaine, mon gentil utilisateur peu se planter. C’est d’ailleur le but du site : corriger.
Si l’utilisateur entre “cha” pour “chat” il faut que je le devine. Donc, je me suis dit que la fonction SOUNDEX serait bien utile pour mon ptit truc. C’est une fonction qui retourne un string codant la prononciation du mot. De plus elle est implementé dans Mysql, j’ai donc juste à la mettre dans ma requete (“SELECT Libelle FROM mots WHERE SOUNDEX(Libelle) = SOUNDEX(’”.$monmot."’)") Seulement elle est faite pour l’anglais à la base. Mais (d’apres les forums) elle fonctionne quand même un peu pour le francais. J’ai donc essayé, et voila ce qu’elle me propose pour le mot “ce”

caca, causassiez, chiasse, … (il me resort 490 mots commencant par ‘C’ !!! rien que ca…) Alors bon, je veux bien que ce soit fait pour l’anglais mais là quand même…

Il me reste donc une solution : recuperer sur le net une fonction SOUNDEX en version FR. Mais pour l’utiliser il va falloir que je rajoute un champs Soundex_FR à ma table contenant les mots puisque celle ci n’est pas présente dans MySQL. Ceci implique que ma table va doubler de taille, et vu qu’il s’agit d’un site je preferai economiser la place, sans compter le temps d’execution qui risque d’augementer énorment, et ça, c’est pas bien du tout.

Auriez vous une idée pour gérer ce genre de problème ?
Merci d’avance.

ya ptet qqchose à voir de ce coté là.

sinon ya d’autres fonctions pour calculer la ressemblance d’une chaine sur un critère phonétique ds PHP, mais mysql ne les implémente pas : /
A toi de voir si elles ne fonctionnent pas mieux, quitte à stocker la valeur phonétique ds ta table

Salut,
Je vais répondre car le sujet m’interresse particulièrement.

J’ai travaillé sur un petit projet (j’y suis encore) ou la recherche dans la base devait pouvoir se faire avec l’algo SOUNDEX. Ca tombait bien, il existe aussi dans SQLServer (et Oracle).

J’ai trouvé ça sur le net : http://sqlpro.developpez.com/cours/soundex/
C’est assez interressant. De plus t’aura l’algo.

Personnellement j’ai pas aimé Soundex. Je trouve que c’est vachement limité comme algo. Je n’ai d’ailleur jamais reussi a lui faire recuperer des mots a partir d’un son se trouvant DANS le mot (pas en debut). Peut etre qu’en PHP, comme dis kursk, t’aura plus de methode pour l’utiliser.

ZeP

Les algo phonetiques c’est poilu

merci je vais regarder un tout ça, je vous tiens au courant.