ホームページ > バックエンド開発 > PHPチュートリアル > PSPELLで間違った単語を見つけて修正します

PSPELLで間違った単語を見つけて修正します

Joseph Gordon-Levitt
リリース: 2025-02-22 10:56:10
オリジナル
984 人が閲覧しました

Find and Correct Misspelled Words with Pspell

コアポイント

  • PHPのPSPELLモジュールを使用して、単語のスペルを確認し、デフォルトの辞書に基づいて代替単語を提案できます。これは、特にWebサイトに検索機能またはユーザーの提出物がある場合、Webサイトのユーザーエクスペリエンスを強化するために非常に価値があります。
  • PSPELLモジュールは、特定の文字制限以下の単語を無視し、異なる速度で実行し、デフォルトの辞書をカスタム辞書で補足して、高いレベルのスペルチェックコントロールを提供するように構成できます。
  • PSPELLは強力なスペル補正ツールですが、それは完全ではなく、文法やコンテキストをチェックせず、辞書に含まれていない専門用語や技術用語を認識しないため、注意して使用する必要があります。精度を向上させるために、単語を辞書に追加するか、PSPELL構成を調整して特定のニーズをより適切に満たすことができます。

私たち一人一人は、「オルタナティブミュージック」など、Google検索でスペルエラーを犯しています。 Googleが「代替音楽を意味しますか?」と言うことであなたを助けようとすることに気づいたかもしれません。あなたのウェブサイトに検索機能がある場合、結果が見つからない場合や結果が少なすぎる場合のスペルミスを指摘することは非常に便利な機能です。幸いなことに、PHPのPSPELLモジュールを使用すると、単語のスペルを確認し、デフォルトの辞書の提案に従ってそれらを置き換えることができます(カスタム辞書を作成することもできます)。

最初に、pspellがインストールされているかどうかを確認する必要があります:

<?php $config_dic= pspell_config_create ('en'); ?>
ログイン後にコピー

エラーが発生した場合、インストールされていないことを意味します。 Linux Systemsについては、以下の指示に従ってこの問題を解決します。 (LinuxシステムにPSPELLをインストールするための特定の手順は、ここに追加する必要があります)

デフォルトの辞書

を使用します

以下は、pspellの仕組みを理解するのに役立つ小さな関数です。

この関数を使用するには、文字列パラメーターを渡すだけです。
<?php
function orthograph($string) {
    $config_dic = pspell_config_create('en');
    pspell_config_ignore($config_dic, 3);
    pspell_config_mode($config_dic, PSPELL_FAST);
    $dictionary = pspell_new_config($config_dic);
    $replacement_suggest = false;
    $string = explode(' ', trim(str_replace(',', ' ', $string)));
    foreach ($string as $key => $value) {
        if (!pspell_check($dictionary, $value)) {
            $suggestion = pspell_suggest($dictionary, $value);
            if (strtolower($suggestion[0]) != strtolower($value)) {
                $string[$key] = $suggestion[0];
                $replacement_suggest = true;
            }
        }
    }
    return $replacement_suggest ? implode(' ', $string) : null;
}
?>
ログイン後にコピー

pspellに送信された文字列が「ここに私の間違いの単語です」の場合、以前のスクリプトが返されます:「提案されたスペル:ここに私の間違いのある単語があります」。ただし、PSPELLはオールインワンではありません。特に、最初に提案されたスペルの代替品を自動的に使用する場合!最良の結果を得るには、Pspellが提供するすべての提案を使用できます。次のスクリプトは、「lappin」という言葉をめぐる20の提案を返します:(コードの例はここに追加する必要があります)

<?php
$search = $_POST['input'];
$suggestion_spell = orthograph($search);
if ($suggestion_spell) {
    echo "建议拼写:$suggestion_spell";
}
?>
ログイン後にコピー
pspellを初期化するために辞書を構成する必要があります。これを行うには、辞書構成ファイルを指す記述子を作成し、この記述子のオプションの一部を変更し、構成辞書を使用して実際の辞書の2番目の記述子を作成します。これが少し複雑に聞こえる場合は、心配しないでください。コードはほとんど変更されず、通常は別のスクリプトからコピーできます。しかし、ここでは段階的に見ていきます。以下は、構成辞書のコードです。(コードの例をここに追加する必要があり、コード内の各関数の関数を説明する必要があります)

この時点から、辞書を2つの方法で使用できます。

  1. pspell_check($dictionary, "word")「単語」が辞書にある場合、trueを返します。
  2. pspell_suggest($dictionary, "word")「単語」が辞書にない場合、提案された単語の配列が返されます(この配列の最初の要素は最も可能性の高い候補です)。得られた単語の数はさまざまですが、pspell_slowでより多くを得ることができ、pspell_fastでより少なくすることができます。

辞書の準備ができたので、パラメーターとして渡された文字列をカットして、「ここで私の文」は「ここ」、「私の」、「文」の3つの要素の配列になります。次に、デフォルトの辞書を使用して各単語のスペルを確認します。コンマが好きではないため、弦を爆発する前に削除します。単語が3文字を超えた場合、それを確認し、スペルが間違っている場合は、次のことを行います(ここにステップの指示を追加し、言語式を改善する必要があります)

PSPELL

にカスタム辞書を追加します

単語がデフォルトの辞書にない場合は、簡単に追加できます。ただし、デフォルトの辞書で使用するカスタム辞書を作成することもできます。

書き込み許可を使用してサイトにPHPディレクトリを作成し、その中に新しい辞書を初期化します。 perso.pwsという名前の新しい辞書ファイルを作成するには、次のスクリプトを使用します。(コードの例をここに追加して、コード内の個々の機能の役割と、カスタム辞書に単語を追加する方法

を説明する必要があります)

結論

PSPELLは、訪問者にタイプミスを自動的に修正して気づく方法を提供することで、コンバージョンを改善するのに役立ちます。検索エクスペリエンス、フォーラムの提出、およびユーザーがサビされたコンテンツを備えたWebサイトの全体的な言語の正確性を高めます。 Pspellをより詳細に見て、興味深い方法で実装したい場合は、以下のコメントでお知らせください!

タイプミスの修正

に関する

FAQ(FAQ)

(FAQパーツをここに追加する必要があります。元のFAQを磨き、書き直して、より簡潔で理解しやすくする必要があります)

以上がPSPELLで間違った単語を見つけて修正しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート