示例

示例 #1 Enchant 使用示例

<?php
$tag
= 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo
"当前代理提供以下后端(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (
enchant_broker_dict_exists($r,$tag)) {
$d = enchant_broker_request_dict($r, $tag);
$dprovides = enchant_dict_describe($d);
echo
"字典 $tag 提供:\n";
$wordcorrect = enchant_dict_check($d, "soong");
print_r($dprovides);
if (!
$wordcorrect) {
$suggs = enchant_dict_suggest($d, "soong");
echo
"'soong' 的建议:";
print_r($suggs);
}
enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
添加注释

用户贡献的注释 3 个注释

robert dot johnson at icap dot com
11 年前
以下是 Windows 用户的帮助

您需要将词典添加到您的计算机以供 Enchant 使用。

1. Enchant 在您的注册表键中查找,我不知道它想要哪些键,但它会在这里查找 - 我忽略了所有这些
* Default User\Software\Enchant\Config
* Default User\Software\Enchant\Ispell
* Default User\Software\Enchant\Myspell
2. 它会查找 OpenOffice 词典(来自 OpenOffice 的注册表设置)
3. 它会查找文件夹 [PHP]\share\myspell\dicts

我通过将 Firefox 中的 en-us 词典文件复制到 \share\myspell\dicts 并将其重命名为 en_US.* 使其工作。我认为您可以从这里下载和安装 OpenOffice 词典:http://extensions.services.openoffice.org/dictionary

Enchant 会创建并写入以下文件夹,因此您必须允许 PHP 对其进行读写权限:[SYSTEM32]\config\systemprofile\Application Data\enchant

如果 Enchant 可以接受参数来指定主词典和用户词典的位置,那就很方便了,我想注册表键是唯一的方法。
robert dot johnson at icap dot com
11 年前
重复 wschalle at gmail dot com 在页面 https://php.net/manual/en/book.enchant.php 上的注释

除非 libenchant_myspell.dll 和 libenchant_ispell.dll 被放置在 PHP 5.4.13 中的 [PHP]\lib\enchant,否则 enchant 库无法工作。

词典仍然会从 [PHP]\share\myspell\dicts 加载。
ch1902
10 年前
要补充 robert.johnson 非常有用的帖子,我发现词典文件 (*.dic 和 *.aff) 只能包含 A-Z 和 _ 字符,否则它们不会在 enchant_broker_list_dicts() 的输出中列出(至少对于 PHP 5.4 / Windows 是这样)。

当从 https://addons.mozilla.org/firefox/language-tools/ 下载一些词典文件时,这是一个问题,其中文件名包含连字符,例如 pt-BR。只需将文件名中的连字符替换为下划线,enchant 就会识别语言代码。
To Top