Dotan,


Greg Donald wrote:
On Mon, 17 Jan 2005 23:43:48 +0200, Dotan Cohen
<[EMAIL PROTECTED]> wrote:

I looked at the 'sound like' modules in php (leveshtien, soundex) but they are
for comparing 2 strings, not creating a string based on what we already have.


You're looking at it from the wrong end.

With soundex you create soundex values for _all_ your known words, and
you stick them in a db.. then you find the soundex value for the word
in question and you do a lookup in your db to find other words with
the closest values.  You're right that you don't create any new
strings based on the word.  Instead you would provide a listing of
similar words from the db lookup.  It's all up to you what words go
into the db to pick from.

good example of text search/matching but he has the problem that he still needs to create the words which brings him back to the original problem... how do you create:


cayac
kayac
cayak

from: kayak

...he seemed to want to generate permutations - regardless of whether they are actually in the dictionary.

well you would start off with a set of zero or more replacement chars for each letter in the alphabet (bare in mind that character (set?) encoding plays a part here). e.g. :

$repl = array(
        'a' => null,
        'b' => null,
        'c' => array('k'),
        'd' => null;
        'e' => array('i'),
        /*
         * and so on..
         */
);

then onto the string:

$str = str_split("kayak");
var_dump($str);

str_split() will give you an array, each element containing one letter of the original string.

now you need a loop! I leave the magic to build the permutations up to you


I read somewhere most English speaking folks only use about 80K words or so.

programmers use more :-)

rgds,
Jochem

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to