不区分大小写的PSpell拼写检查?

时间:2010-07-30 21:38:36

标签: php case-insensitive pspell

我想在我的程序中使用PHP的PSpell检查功能。在pspell_check()中是否有选项可用于不区分大小写的检查?

3 个答案:

答案 0 :(得分:4)

我找到了解决不区分大小写选项的方法。 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。快乐的编码:)

答案 1 :(得分:1)

试试此补丁http://code.google.com/p/patched-pspell/。它使您可以设置任何选项。

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

答案 2 :(得分:0)

有一个简单的解决方案。就这样做:

$word = ucfirst($word); //Always capitalize to avoid case sensitive error
if (!pspell_check($dict, $word)) {
   $suggestions = pspell_suggest($dictionary, $word);
}