Нечувствительная к регистру проверка правописания 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);
}