echo "<Error>Spellcheck not available for {$lang} language</Error>\n"; $atmail->end(); } // only bother requiring if we pass authentication require_once 'spellChecker.php'; $atmail->httpheaders(); $spellChecker = new spellChecker($dict, "{$atmail->username}@{$atmail->pop3host}", $pref['use_php_pspell']); // Add word to our personal dict file if ($_REQUEST['add']) { $personal = $_REQUEST['replace'] ? $_REQUEST['replace'] : $_REQUEST['wordreplace']; // Insert the entry into the database $spellChecker->addWord($atmail->Account, $personal); } if ($_REQUEST['ignore'] || $_REQUEST['change'] && $_REQUEST['wordreplace']) { // Ignore the word $spellChecker->ignoreWord($_REQUEST['wordreplace']); } // spell check the email $_REQUEST['emailmessage'] = str_replace(array('<br>', '<BR>', '<br/>', '<BR/>', '</p>', '</P>'), "\n", $_REQUEST['emailmessage']); // Remove any html entities and tags $_REQUEST['emailmessage'] = preg_replace('/&\\w+;/', '', $_REQUEST['emailmessage']); $_REQUEST['emailmessage'] = strip_tags($_REQUEST['emailmessage']); // Remove punctuation such as , ; : //$_REQUEST['emailmessage'] = preg_replace('/[^a-zA-Z\-]+/', ' ', $_REQUEST['emailmessage']); foreach (explode("\n", $_REQUEST['emailmessage']) as $line) { $words = array_unique(preg_split('/\\s+/', $line)); foreach ($words as $word) { if (preg_match('/[a-zA-Z]+/', $word)) { $spellChecker->check($word); } }