PHP dispone de una función
similar_text aunque no resuelve totalmente el problema de lo que dices, te puede ayudar, tienes que desarrollar un algoritmo bastante complejo para ello.
Tal como lo hace Google pero Google tiene años de información que puede usar...