Maison >développement back-end >tutoriel php >Trouver et corriger les mots mal orthographiés avec PSpell

Trouver et corriger les mots mal orthographiés avec PSpell

Joseph Gordon-Levitt
Joseph Gordon-Levittoriginal
2025-02-22 10:56:10990parcourir

Find and Correct Misspelled Words with Pspell

Points de base

  • Le module PSPELL de PHP peut être utilisé pour vérifier l'orthographe des mots et suggérer des mots alternatifs en fonction de son dictionnaire par défaut, ce qui est très précieux pour améliorer l'expérience utilisateur du site Web, surtout si le site Web a des capacités de recherche ou des soumissions d'utilisateurs.
  • Le module PSPELL peut être configuré pour ignorer les mots sous une certaine limite de caractères, exécuter à différentes vitesses et peut même compléter le dictionnaire par défaut avec un dictionnaire personnalisé, offrant un niveau élevé de contrôle orthographique.
  • Bien que Pspell soit un puissant outil de correction d'orthographe, il n'est pas parfait et doit être utilisé avec prudence car il ne vérifie pas la grammaire ou le contexte et peut ne pas reconnaître les termes professionnels ou techniques qui ne sont pas inclus dans son dictionnaire. Pour une précision améliorée, des mots peuvent être ajoutés au dictionnaire, ou la configuration PSPELL peut être ajustée pour mieux répondre aux besoins spécifiques.

Chacun de nous a fait des erreurs d'orthographe dans les recherches Google, telles que la «musique alternative». Vous avez peut-être remarqué que Google essaiera de vous aider en disant "voulez-vous dire de la musique alternative?" Si votre site Web a une fonction de recherche, en signalant une fausse orthographiée lorsqu'aucun résultat n'est trouvé ou trop peu de résultats est une fonctionnalité très utile, surtout si le mauvais anglais du visiteur peut vous faire manquer des opportunités de vente. Heureusement, le module PSPELL de PHP vous permet de vérifier l'orthographe des mots et de les remplacer en fonction de ses suggestions de dictionnaire par défaut (vous pouvez également créer des dictionnaires personnalisés).

Tout d'abord, nous devons vérifier si PSpell est installé:

<code class="language-php"><?php $config_dic= pspell_config_create ('en'); ?></code>

Si une erreur se produit, cela signifie qu'il n'est pas installé. Sur les systèmes Linux, suivez les instructions ci-dessous pour résoudre ce problème. (Les étapes spécifiques pour l'installation de PSPELL dans les systèmes Linux doivent être ajoutées ici)

Utilisez le dictionnaire par défaut

Ce qui suit est une petite fonction qui vous aide à comprendre comment fonctionne PSpell:

<code class="language-php"><?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;
}
?></code>

Pour utiliser cette fonction, passez-le simplement un paramètre de chaîne:

<code class="language-php"><?php
$search = $_POST['input'];
$suggestion_spell = orthograph($search);
if ($suggestion_spell) {
    echo "建议拼写:$suggestion_spell";
}
?></code>

Si la chaîne soumise à PSpell est "voici mon mot mignon", le script précédent reviendra: "Speller suggéré: voici mon mot mal orthographié". Cependant, Pspell n'est pas tout-en-un, surtout si vous utilisez automatiquement la première alternative d'orthographe suggérée! Pour de meilleurs résultats, vous pouvez utiliser toutes les suggestions fournies par PSpell. Le script suivant renvoie vingt suggestions entourant le mot "lappin": (des exemples de code doivent être ajoutés ici)

Vous devez configurer un dictionnaire pour initialiser PSpell. Pour ce faire, créez un descripteur pointant vers le fichier de configuration du dictionnaire, modifiez certaines des options de ce descripteur, puis utilisez le dictionnaire de configuration pour créer un deuxième descripteur pour le dictionnaire réel. Si cela semble un peu compliqué, ne vous inquiétez pas: le code change très peu et vous pouvez généralement le copier à partir d'un autre script. Mais ici, nous allons le regarder étape par étape. Ce qui suit est le code du dictionnaire de configuration: (l'exemple de code doit être ajouté ici et les fonctions de chaque fonction dans le code doivent être expliquées)

À partir de ce moment, vous pouvez utiliser le dictionnaire de deux manières:

  1. pspell_check($dictionary, "word") Renvoie True si "Word" est dans le dictionnaire.
  2. pspell_suggest($dictionary, "word") Si "Word" n'est pas dans le dictionnaire, un tableau de mots suggérés est retourné (le premier élément de ce tableau est le candidat le plus probable). Le nombre de mots obtenus varie, mais vous pouvez en obtenir plus avec pspell_slow et moins avec pspell_fast.

Maintenant que le dictionnaire est prêt, nous avons coupé la chaîne passée en tant que paramètres pour obtenir le tableau de mots: "Ici ma phrase" devient un tableau de trois éléments, "ici", "mon" et "phrase". Nous vérifions ensuite l'orthographe de chaque mot en utilisant le dictionnaire par défaut. Parce qu'il n'aime pas les virgules, nous les supprimons toujours avant d'exploser les cordes. Si le mot dépasse trois caractères, vérifiez-le et si l'orthographe est erronée, nous effectuons les éléments suivants: (Les instructions d'étape doivent être ajoutées ici et l'expression du langage doit être améliorée)

Ajoutez un dictionnaire personnalisé à pspell

Si un mot n'est pas dans le dictionnaire par défaut, vous pouvez facilement l'ajouter. Cependant, vous pouvez également créer un dictionnaire personnalisé à utiliser avec le dictionnaire par défaut.

Créez un répertoire PHP sur votre site avec des autorisations d'écriture et initialisez un nouveau dictionnaire. Pour créer un nouveau fichier de dictionnaire nommé perso.pws, utilisez le script suivant: (L'exemple de code doit être ajouté ici et expliquer le rôle des fonctions individuelles dans le code et comment ajouter des mots à un dictionnaire personnalisé)

Conclusion

pspell peut vous aider à améliorer les conversions en offrant aux visiteurs un moyen de corriger automatiquement et de remarquer leurs fautes de frappe. Il améliore la précision globale du langage de l'expérience de recherche, des soumissions de forum et des sites Web avec du contenu soumis à l'utilisateur. Si vous voulez avoir un aperçu plus approfondi de PSpell ou la mettre en œuvre de manière intéressante, faites-le nous savoir dans les commentaires ci-dessous!

FAQ (FAQ) sur la correction des fautes de frappe

(La partie FAQ doit être ajoutée ici, et la FAQ d'origine doit être polie et réécrite pour la rendre plus concise et facile à comprendre)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn