1

エンチャント スペル ライブラリを試しています。

正常に動作するスクリプトがありますが、いくつかの辞書 (Aspell または Myspell) から選択できます。

この関数 enchant_broker_set_dict_path を試してみたところ、効果がないようです。そして、この関数はphpdocにありません。なぜですか?

php 5.3を使用してLinuxで試しました

これが私のスクリプトです

$words=array('test', 'test');

$suggestions = array();
$enchant = enchant_broker_init();

if (enchant_broker_dict_exists($enchant, $lang)) {
        $dict = enchant_broker_request_dict($enchant, $lang);

        foreach ($words as $word) {
            $correct = enchant_dict_check($dict, $word);
            if (!$correct) {
                $suggs = enchant_dict_suggest($dict, $word);

                if (!is_array($suggs)) {
                    $suggs = array();
                }
                $suggestions[$word] = $suggs;
            }
        }
        enchant_broker_free_dict($dict);
        enchant_broker_free($enchant);
    } else {
        enchant_broker_free($enchant);
        throw new Exception("Could not find dictionary. Code: " . $lang);
    }
4

2 に答える 2

0

これらの関数を使用するには、PHP で php_enchant エクステンションを有効にする必要があります。

この拡張機能を有効にするには、php.ini を使用して php をセットアップします。

Windows を使用している場合は、php.ini ファイルに extension=php_enchant.dll を追加します。

また、ドキュメントまたはエンチャント コマンドは http://www.php.net/manual/en/function.enchant-broker-init.phpにあります。

于 2014-06-09T13:35:35.437 に答える
0

コードのどこで正確に使用しますか?
enchant_broker_set_dict_path の前に enchant_broker_get_dict_path を呼び出すと、バグがありました。
これも役立ちます: http://blog.iwanluijks.nl/?!=/post/1-using-enchant-with-php-on-windowspart-1.html

PECL を使用する場合は、enchant_broker_set_dict_path と enchant_broker_get_dict_path がそのバージョンに含まれているため、バージョン 1.1.0 以降が必要であることに注意してください。
http://pecl.php.net/package/enchant/1.1.0

于 2014-11-18T14:59:55.943 に答える