В рассмотренной нами ранее функции aspell для подключения словаря используется функция aspell._new() .Количество ее параметров, указываемых при подключении, было минимально, чего нельзя сказать о новой функции pspell_config_create () . Данная функция в принципе аналогична aspell_new (), единственное, что ее отличает, - расширенная система зада¬ния параметров при вызове словаря. Это, конечно, и позволило завоевать популярность и получить значительное преимущество по отношению к функциям aspell. Возможно, что эти параметры могут и не использоваться при вызове функции, но в случае конкретного подхода описываемой задачи просто очень удобно манипулировать и использовать те параметры, которые вам необходимы. Функция pspell_config_create () имеет следующий синтаксис: int pspell_config_create (string language [, string spelling [, string jargon [, string encoding [, int mode] ]]]) После создания необходимой конфигурации вы можете использовать любые функции pspell_config_* перед запросом pspell_new_config (). Это прежде всего позволит вам воспользоваться преимуществами некоторых расширенных функциональных возможностей. Параметр languager - языка- состоит из двух значений ISO 639 кода языка (кодировки) и необязательных двух значений ISO 3166 - кода страны после черточки или символа подчеркивания. Параметр spelling-орфографии - требуют указания языка подключаемой библиотеки. Например, для english также известны такие значения, как american, british и Canadian. Параметр jargon - циркона - содержит дополнительную информацию, необходимую для того, чтобы можно было отличить два различных списка слов, которые имеют тот же самый язык и параметры орфографии. Параметр encoding - кодирования - кодирование нужных слов. Допустимые значения - utf-8, iso8859- *, koi8-r, viscii, cp1252, machine unsigned 16, machine unsigned 32.
Функция проверки орфографии работает в трех режимах:
PSPELL_FAST - быстрый способ (наименьшееисло предложений);
PSPELL_NORMAL - штатный режим (большое количество предложений);
PSPELL_BAD_SPELLERS - медленный способ (много предложений).
Функция pspell_conf ig_create () возвращает целое значение, которое соответствует идентификатору, указывающему на тот или иной подключаемый словарь. В дальнейшем при выполнении программы производится манипуляция непосредственно с самой функцией, а именно с этим самым идентификатором, Приведенный пример показывает, каким способом можно подключить английский словарь для проверки орфографических ошибок: $ident = pspell_config_create("en", " ", " ", " ", PSPELL_FAST); Конечно же, для начала полноценной работы проверки правильности написа¬ния английского текста понадобится далеко не одна функция. Функция pspell_config_create () позволила нам просто указать конфигурацию словаря. После того как мы определили параметры для полного принципа задания всех необходимых условий проверки орфографии, нам также необходимо будет воспользоваться функциями pspell_config_personal () HPsPell_config_repl () . (см. п. 21.5). Для задания режима способа работы используется функция pspell_config_mode (). Еесинтаксис: int pspell_config_mode (int dictionary_link, int mode) Использовать данную функцию следует только после определения конфигурации. Это очень важный аспект, так как эта функция использует описанный идентификатор. В нашем примере это значение переменной $ident. Именно это значение не¬обходимо вставить в поле функции pspell_config_mode(), определяемое как dictionary_link. Вместо mode записывается тот режим работы, который на данном этапе обработки орфографии является наиболее предпочтительным для вас (PSPELL_FAST, PSPELL_NORMAL ИЛИ PSPELL_BAD_SPELLERS). Как правило, функция pspell_config_mode() используется перед запросом pspell_new_conf ig () . Эта функция определяет, как много предложений будет возвращено функцией pspell_suggest () . Например: <? $ident = pspell_config_create("en"); pspell_config_mode($ident, PSPELL_NORMAL) ; $link = pspell_new_config($ident) ; pspell_check($link, "thedog"); ?> В нашем примере задается штатный режим работы строкойрзре11_сопгig_rrode( $ident, PSPELL NORMAL). Этот же режим можно задать также при помощи функции pspell_config_create () следующим образом: $ident = pspell_config_create("en", " », » ", " ", PSPELLJTORMAL);