3
我有一個自動更正字符串的功能。它按預期更正拼寫錯誤的單詞。我面臨的這個問題是,它不會將美國的拼寫字改正爲英國的等值。將美式英文單詞轉換爲英式單詞
$pspell = pspell_new('en','british','','utf-8',PSPELL_FAST);
function spellCheckWord($word) {
global $pspell;
$autocorrect = TRUE;
// Take the string match from preg_replace_callback's array
$word = $word[0];
// Ignore ALL CAPS
if (preg_match('/^[A-Z]*$/',$word)) return $word;
// Return dictionary words
if (pspell_check($pspell,$word))
return $word;
// Auto-correct with the first suggestion
if ($autocorrect && $suggestions = pspell_suggest($pspell,$word))
return current($suggestions);
// No suggestions
return $word;
}
function spellCheck($string) {
return preg_replace_callback('/\b\w+\b/','spellCheckWord',$string);
}
echo spellCheck('This is a color.');
以上示例未檢測到拼寫錯誤。我怎樣才能得到它color
到colour
和相同的單詞,如favorite
到favourite
?
在[Documentation page](http://php.net/manual/en/function.pspell-new.php)上有關於使用英國英國英格蘭英格蘭或英格蘭英格蘭的有趣評論。這可能值得嘗試。 – Tom
@thebluefox非常感謝。這幫助我解決了這個問題。如果你把這個作爲答案,我會將其標記爲幫助他人是正確的。 – steve
完成@Steve - 很高興我能幫到你。 – Tom