我正在尝试魔法咒语库。
我有一个运行良好的脚本,但我可以在几个词典(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);
}
Php 应该启用php_enchant扩展才能使用这些函数。
使用 php.ini 设置 php 以启用此扩展。
如果你在窗户上,那么将扩展名=php_enchant.dll添加到您的 php.ini 文件中。
此外,文档或附魔命令位于http://www.php.net/manual/en/function.enchant-broker-init.php
你在代码中的什么地方使用它?
有一个错误,如果你在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