www.webdeveloper.com
Results 1 to 3 of 3

Thread: Spelling suggestions for wrong spelling

  1. #1
    Join Date
    Jun 2007
    Posts
    61

    Spelling suggestions for wrong spelling

    Hi,

    I came across this perl script someone wrote for spelling suggestions when someone types a wrong spelling. Can someone please convert it to PHP? It will help a lot of people.

    Source: http://www.norvig.com/spell-correct.html

    Code:
    import re, collections
    
    def words(text): return re.findall('[a-z]+', text.lower()) 
    
    def train(features):
        model = collections.defaultdict(lambda: 1)
        for f in features:
            model[f] += 1
        return model
    
    NWORDS = train(words(file('big.txt').read()))
    
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    
    def edits1(word):
       s = [(word[:i], word[i:]) for i in range(len(word) + 1)]
       deletes    = [a + b[1:] for a, b in s if b]
       transposes = [a + b[1] + b[0] + b[2:] for a, b in s if len(b)>1]
       replaces   = [a + c + b[1:] for a, b in s for c in alphabet if b]
       inserts    = [a + c + b     for a, b in s for c in alphabet]
       return set(deletes + transposes + replaces + inserts)
    
    def known_edits2(word):
        return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS)
    
    def known(words): return set(w for w in words if w in NWORDS)
    
    def correct(word):
        candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word]
        return max(candidates, key=NWORDS.get)

  2. #2
    Join Date
    Jun 2007
    Posts
    61
    Just in case that looks like I am trying to get some kind-hearted people to do my work for me , no, it's just that I have no idea of Perl at all (even if I am okay at PHP), and do not have enough time to learn now . I thank anyone for any help.

  3. #3
    Join Date
    Jan 2009
    Location
    Insanity
    Posts
    1,131
    Have you thought of using a javascript on the clients machine to "Spell Check" before posting data? If you search the net for javascript spell checkers... you will find some on offer.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles