(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
pspell_new — Загружает новый словарь
$language,$spelling = "",$jargon = "",$encoding = "",$mode = 0pspell_new() открывает новый словарь и возвращает экземпляр PSpell\Dictionary для использования в других функциях pspell.
Более подробную информацию и примеры можно найти в руководстве по 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'. Этот параметр ещё не проверен достаточно хорошо, поэтому будьте осторожны при его использовании.
modeПараметр mode - это режим, в котором будет работать проверка орфографии. Доступно несколько режимов:
PSPELL_FAST - Быстрый режим (наименьшее число
вариантов исправления)
PSPELL_NORMAL - Нормальный режим (больше вариантов исправления)
PSPELL_BAD_SPELLERS - Медленный режим (много
вариантов исправления)
PSPELL_RUN_TOGETHER - рассматривает объединённые слова
как правильные сложные слова. То есть, "thecat" будет считаться правильным сложным словом,
хотя между артиклем и словом должен быть пробел. Изменение этой
установки влияет только на результаты, возвращаемые функцией
pspell_check() ; pspell_suggest()
будет продолжать выдавать варианты исправления.
PSPELL_FAST ,
PSPELL_NORMAL и
PSPELL_BAD_SPELLERS являются взаимоисключающими, так что вы
должны выбрать только одну из них.
Возвращает экземпляр PSpell\Dictionary в случае успешного выполнения или false , если возникла ошибка.
| Версия | Описание |
|---|---|
| 8.1.0 | Возвращает экземпляр PSpell\Dictionary ; ранее возвращался ресурс (resource ). |
Пример #1 Пример использования pspell_new()
<?php
$pspell = pspell_new("en", "", "", "",
(PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>Just as a small tip, I noticed that when you call pspell_new multiple times, php does not free memory usage when the resource is destroyed, but only when your entire script has completely finished. So if you create a pspell_link resource and you intend to use it again somewhere else, instead of calling pspell_new again, keep track of your original pspell_link resource instantiation, and use it again, your script will run much more efficiently.
I was switching between 16 dictionaries by just calling a new pspell_new everytime, my memory usage on the server grew until i hit a failure/php core dump. :-/ So i stored each pspell resource in an array keyed by language, and checked if the resource existed first, before creating one if needed.
I hope that helps someone.I think the language and spelling parameters differs on different PHP versions and/or aspell/UNIX distributions.
My PHP 5.2.6 Debian ignores the spelling parameter.
Instead:
For Americans use en_US as language.
For British use en_GB (not en_UK)
For Canadian use en_CA