1

我正在尝试附魔法术库。

我有一个运行良好的脚本,但我可以在几个字典(Aspell 或 Myspell)之间进行选择

所以当我尝试了这个函数 enchant_broker_set_dict_path,但它似乎没有任何效果。而这个函数不在phpdoc中,为什么?

在 linux 上尝试过,使用 php 5.3

这是我的脚本

$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

您在代码中究竟在哪里使用它?
有一个错误,如果你在 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,请注意您需要 1.1.0 或更高版本,因为 enchant_broker_set_dict_path 和 enchant_broker_get_dict_path 包含在该版本中。
http://pecl.php.net/package/enchant/1.1.0

于 2014-11-18T14:59:55.943 回答
0

为了使用这些功能,PHP 应该启用 php_enchant 扩展。

使用您的 php.ini 设置 php 以启用此扩展。

如果您在 Windows 上,则将 extension=php_enchant.dll 添加到您的 php.ini 文件中。

文档或附魔命令也在 http://www.php.net/manual/en/function.enchant-broker-init.php

于 2014-06-09T13:35:35.437 回答