Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

21.4. Создание конфигурации

В рассмотренной нами ранее функции aspell для подключения словаря используется функция ее параметров, указываемых при подключении, было минимально, чего нельзя сказать о новой функции 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, ср1252, machine unsigned 16, machine unsigned 32.

Функция проверки орфографии работает в трех режимах:

PSPELL_FAST — быстрый способ (наименьшеечисло предложений);

PSPELL_NORMAL — штатный режим (большое количество предложений);

PSPELL_BAD_SPELLERS — медленный способ (много предложений). Функция pspell_config_create() возвращает целое значение, которое соответствует идентификатору, указывающему на тот или иной подключаемый словарь. В дальнейшем при выполнении программы производится манипуляция непосредственно с самой функцией, а именно с этим самым Приведенный пример показывает, каким способом можно подключить английский словарь для проверки орфографических ошибок:

$ident = pspell_config_create("en", " ", " " ", PSPELL_FAST);

Конечно же, для начала полноценной работы проверки правильности написания английского текста понадобится далеко не одна функция. Функция pspell_config_create() позволила нам просто указать конфигурацию словаря. После того как мы определили параметры для полного принципа задания всех необходимых условий проверки нам также необходимо будет воспользоваться функциями pspell_config_personal() и pspell_config_repl(). (см. п. 21.5).

Для задания режима способа работы используется функция pspell_config_mode(). Ее синтаксис:

int pspell_config_mode (int dictionary_link, int mode)

Использовать данную функцию следует только после определения конфигурации. Это очень важный аспект, так как эта функция использует описанный идентификатор. В нашем примере это значение переменной $ident. Именно это значение необходимо вставить в поле функции определяемое как dictionary_link. Вместо mode записывается тот режим работы, который на данном этапе обработки орфографии является наиболее предпочтительным для вас (PSPELL_FAST, PSPELL_NORMAL ИЛИ PSPELL_BAD_SPELLERS).

Как правило, функция pspell_config_mode() используется перед запросом pspell_new_config(). Эта функция определяет, как много предложений будет

возвращено функцией pspell_suggest(). Например:

<?

$ident = pspell_config_create("en");

pspell_config_mode($ident, PSPELL_NORMAL);

$link = pspell_new_config($ident);

pspell_check($link, "thedog");

?>

В нашем примере задается штатный режим работы строкой pspell_config_mode($ident, PSPELL_NORMAL). Этот же режим можно задать также при помощи функции pspell_config_create() следующим образом:

$ident = pspell_config_create("en", " " " ", PSPELL_NORMAL);

<< Предыдущий параграф Следующий параграф >>
Оглавление