CakeFest 2024: The Official CakePHP Conference

pspell_config_create

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

pspell_config_createСоздаёт конфигурацию, используемую для открытия словаря

Описание

pspell_config_create(
    string $language,
    string $spelling = "",
    string $jargon = "",
    string $encoding = ""
): PSpell\Config

Создаёт конфигурацию, используемую для открытия словаря.

pspell_config_create() обладает синтаксисом, очень похожим на синтаксис pspell_new(). Фактически, использование pspell_config_create() сразу после pspell_new_config() даст точно такой же результат. Однако, после создания новой конфигурации, также можно использовать функции pspell_config_*() до вызова pspell_new_config() для получения преимуществ от некоторой дополнительной функциональности.

Более подробную информацию и примеры можно найти в руководстве по pspell на сайте:» http://aspell.net/.

Список параметров

language

Параметр language - это код языка, который состоит из двухбуквенного кода языка по стандарту ISO 639 и необязательного двубуквенного кода страны по стандарту ISO 3166 после тире или подчёркивания.

spelling

Параметр spelling определяет вариант проверки орфографии для языков с более чем одним вариантом правописания, таких как английский. Известные значения: 'american', 'british', и 'canadian'.

jargon

Параметр jargon содержит дополнительную информацию для различения двух различных списков слов, имеющих одинаковые параметры language и spelling.

encoding

Параметр encoding - это кодировка, в которой, как ожидается, даны слова. Допустимые значения: 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. Это параметр ещё не проверен достаточно хорошо, поэтому будьте осторожны при его использовании.

Возвращаемые значения

Возвращает экземпляр PSpell\Config.

Список изменений

Версия Описание
8.1.0 Возвращает экземпляр PSpell\Config; ранее возвращался ресурс (resource).

Примеры

Пример #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");
?>

add a note

User Contributed Notes 1 note

up
0
mshort at mail dot com
6 months ago
This might help if you are trying to use multiple custom dictionaries especially if you don't have sudo access to the system aspell dictionary directory ...
I created three custom dictionaries (or are they word lists) using "aspell create master" and found a way to use them ...
1) Create 3 word lists, one word per line, wordlistA.txt, wordlistB.txt, and wordlistC.txt.
2) Create 3 masters ... aspell --lang=en create master ./my_LANG-dictA.rws < wordlistA.txt - repeat for B and C (lang needs to be already installed, I think any lang will work).
3) Create 3 multi files, my_LANGA.multi, contents: add my_LANG-dictA.rws) - repeat for B and C. Where my_LANGA can be any name in the same case as explained in the aspell manual.
4) Use any one of them (A B or C) with pspell ...
<?php
$pspell_config
= pspell_config_create('my_LANGC', '', ''. 'utf-8');
pspell_config_dict_dir($pspell_config, <location of 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: Valid spelling";
} else {
$suggestions = pspell_suggest($pspell, $word);
echo
"$word: suggestions: $suggestions"
}
}
?>

The language arg for pspell_config_create() is the basename of the .multi file.
Note that I do not have a file $HOME/.aspell.conf.
Note that my .multi and .rws files are in the same directory, which I think is necessary.
The wordlist files are not needed once the masters are created.
To Top