author | Dan |
Sun, 21 Dec 2008 17:56:32 -0500 | |
changeset 784 | 72df14a56a03 |
permissions | -rw-r--r-- |
<?php /** * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $ * * @author Moxiecode * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. */ class PSpell extends SpellChecker { /** * Spellchecks an array of words. * * @param {String} $lang Language code like sv or en. * @param {Array} $words Array of words to spellcheck. * @return {Array} Array of misspelled words. */ function &checkWords($lang, $words) { $plink = $this->_getPLink($lang); $outWords = array(); foreach ($words as $word) { if (!pspell_check($plink, trim($word))) $outWords[] = utf8_encode($word); } return $outWords; } /** * Returns suggestions of for a specific word. * * @param {String} $lang Language code like sv or en. * @param {String} $word Specific word to get suggestions for. * @return {Array} Array of suggestions for the specified word. */ function &getSuggestions($lang, $word) { $words = pspell_suggest($this->_getPLink($lang), $word); for ($i=0; $i<count($words); $i++) $words[$i] = utf8_encode($words[$i]); return $words; } /** * Opens a link for pspell. */ function &_getPLink($lang) { // Check for native PSpell support if (!function_exists("pspell_new")) $this->throwError("PSpell support not found in PHP installation."); // Setup PSpell link $plink = pspell_new( $lang, $this->_config['PSpell.spelling'], $this->_config['PSpell.jargon'], $this->_config['PSpell.encoding'], $this->_config['PSpell.mode'] ); // Setup PSpell link /* if (!$plink) { $pspellConfig = pspell_config_create( $lang, $this->_config['PSpell.spelling'], $this->_config['PSpell.jargon'], $this->_config['PSpell.encoding'] ); $plink = pspell_new_config($pspell_config); }*/ if (!$plink) $this->throwError("No PSpell link found opened."); return $plink; } } ?>