PHP Conference Japan 2024

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_create创建用于打开词典的配置

描述

pspell_config_create(
    字符串 $language,
    字符串 $spelling = "",
    字符串 $jargon = "",
    字符串 $encoding = ""
): PSpell\Config

创建用于打开词典的配置。

pspell_config_create() 的语法与 pspell_new() 非常相似。事实上,使用 pspell_config_create() 紧跟着 pspell_new_config() 会产生完全相同的结果。但是,在创建新的配置后,您也可以在调用 pspell_new_config() 之前使用 pspell_config_*() 函数来利用一些高级功能。

有关更多信息和示例,请查看内联手册 pspell 网站:» http://aspell.net/

参数

language

language 参数是语言代码,它由两个字母的 ISO 639 语言代码和一个可选的两个字母的 ISO 3166 国家代码组成,国家代码位于连字符或下划线之后。

spelling

spelling 参数是对于有多种拼写(例如英语)的语言请求的拼写。已知的取值是 'american'、'british' 和 'canadian'。

jargon

jargon 参数包含额外信息,用于区分具有相同语言和拼写参数的两个不同的词表。

encoding

encoding 参数是单词的预期编码。有效值为 'utf-8'、'iso8859-*'、'koi8-r'、'viscii'、'cp1252'、'machine unsigned 16'、'machine unsigned 32'。此参数在很大程度上未经测试,因此在使用时要小心。

返回值

返回一个 PSpell\Config 实例。

变更日志

版本 描述
8.1.0 现在返回一个 PSpell\Config 实例;以前,返回的是一个 资源

范例

示例 #1 pspell_config_create()

<?php
$pspell_config
= pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell = pspell_new_personal($pspell_config, "en");
?>

添加注释

用户贡献的注释 1 条注释

mshort at mail dot com
1 年前
如果您尝试使用多个自定义词典,尤其是在您没有系统 aspell 词典目录的 sudo 访问权限时,这可能会有所帮助……
我使用“aspell create master”创建了三个自定义词典(或者说是词表),并找到了一种使用方法……
1) 创建 3 个词表,每行一个单词,wordlistA.txt、wordlistB.txt 和 wordlistC.txt。
2) 创建 3 个主词典……aspell --lang=en create master ./my_LANG-dictA.rws < wordlistA.txt - 对 B 和 C 重复(语言需要已安装,我认为任何语言都可以工作)。
3) 创建 3 个多文件,my_LANGA.multi,内容:add my_LANG-dictA.rws) - 对 B 和 C 重复。其中 my_LANGA 可以是 aspell 手册中解释的相同大小写情况下的任何名称。
4) 使用其中任何一个(A B 或 C)与 pspell 结合使用……
<?php
$pspell_config
= pspell_config_create('my_LANGC', '', ''. 'utf-8');
pspell_config_dict_dir($pspell_config, <my_LANGC.multi所在位置>);
if ((
$pspell = pspell_new_config($pspell_config)) == false) {
echo
'pspell_new_config() for LANGC FAILED!');
} else {
$word = 'PHPisgreat'];
if (
pspell_check($pspell, $word)) {
echo
"$word: 拼写正确";
} else {
$suggestions = pspell_suggest($pspell, $word);
echo
"$word: 建议: $suggestions"
}
}
?>

pspell_config_create() 的 language 参数是 .multi 文件的基名。
请注意,我没有 $HOME/.aspell.conf 文件。
请注意,我的 .multi 和 .rws 文件在同一个目录中,我认为这是必要的。
一旦创建了主词典,就不再需要词表文件。
To Top