soundex() is a very useful function, PHP offers a more exact alternative for the English language: metaphone(). The main difference being that metaphone() has mastered some of the basic rules of the English Language.
however that metaphone() should only be used on English words. It will not be of much use for instance with French, German, Italian or Spanish. Here is an example. Note that while soundex() returns the same code for Weather and Whether, metaphone() can indeed tell a slight difference: