Le sujet que vous abordez s'appelle "Fuzzy Lookup". C'est un grand terrier de lapin à sauter, selon la précision que vous souhaitez obtenir. Il existe différentes méthodes, telles que :
- soundex
- Distance Damerau-Levenshtein
- Distance Jaro-Winkler
- métaphone
- double métaphone
Quelques références à vérifier :
- Recherche floue PHP/MySQL à petite échelle
- http://en.wikipedia.org/wiki/Approximate_string_matching
- Comment puis-je faire une correspondance floue des noms d'entreprise dans MYSQL avec PHP pour l'auto-complétion ?
- Implémentation de la distance de Levenshtein pour mysql /recherche floue ?