Нечувствительная к регистру проверка правописания PSpell?

Я хотел бы использовать функцию проверки PSpell в PHP в моей программе. Есть ли где-нибудь опция для нечувствительной к регистру регистрации в pspell_check()?

3 ответа

Решение

Я нашел способ обойти отсутствие опции нечувствительности к регистру. Кажется, что функция предложения PSpell всегда возвращает правильную заглавную букву неправильно прописанного слова в качестве первого предложения, поэтому мы можем проверить это, если первоначальная проверка орфографии не удалась:

<?php

function pspell_icheck($dictionary_link, $word) {
  return ( pspell_check($dictionary_link, $word) ||
    strtolower(reset(pspell_suggest($dictionary_link, $word))) == strtolower($word) );
}

$dict = pspell_new('en');
$word = 'foo';
echo pspell_icheck($dict, $word);

?>

Работает на PHP 5.3.2. Удачного кодирования:)

Попробуйте этот патч http://code.google.com/p/patched-pspell/. Это позволяет вам устанавливать любые параметры.

pspell_config_set($pspell_config, 'ignore-case', 'true');

Есть простое решение. Просто сделай это:

$word = ucfirst($word); //Always capitalize to avoid case sensitive error
if (!pspell_check($dict, $word)) {
   $suggestions = pspell_suggest($dictionary, $word);
}
Другие вопросы по тегам