Heim >Backend-Entwicklung >PHP-Tutorial >Finden und korrigieren Sie falsch geschriebene Wörter mit PSPELL
Kernpunkte
Jeder von uns hat Rechtschreibfehler bei Google -Suchanfragen wie „alternative Musik“ gemacht. Möglicherweise haben Sie bemerkt, dass Google versuchen wird, Ihnen zu helfen, indem Sie sagen: "Meinst du alternative Musik?" Wenn Ihre Website über eine Suchfunktion verfügt, ist es eine sehr nützliche Funktion, auf eine Rechtschreibfehler hinzuweisen, wenn keine Ergebnisse gefunden werden oder zu wenige Ergebnisse vorliegen, insbesondere wenn das arme Englisch des Besuchers dazu führen kann, dass Sie Verkaufsmöglichkeiten verpassen. Glücklicherweise ermöglicht das PSPELL -Modul von PHP die Schreibweise der Wörter und ersetzt sie gemäß den Standard -Wörterbuchvorschlägen (Sie können auch benutzerdefinierte Wörterbücher erstellen).
Erstens müssen wir überprüfen, ob PSPELL installiert ist:
<code class="language-php"><?php $config_dic= pspell_config_create ('en'); ?></code>
Wenn ein Fehler auftritt, bedeutet dies, dass er nicht installiert ist. Befolgen Sie auf Linux -Systemen die folgenden Anweisungen, um dieses Problem zu beheben. (Die spezifischen Schritte zur Installation von PSPELL in Linux -Systemen sollten hier hinzugefügt werden)
Verwenden Sie das Standard -Wörterbuch
Folgendes ist eine kleine Funktion, mit der Sie verstehen, wie PSPELL funktioniert:
<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>
Um diese Funktion zu verwenden, übergeben Sie sie einfach einen String -Parameter:
<code class="language-php"><?php $search = $_POST['input']; $suggestion_spell = orthograph($search); if ($suggestion_spell) { echo "建议拼写:$suggestion_spell"; } ?></code>
Wenn die an PSPELL eingereichte Zeichenfolge "Hier ist mein falschem Wort" lautet, wird das vorherige Skript zurückgegeben: "Vorgeschlagene Rechtschreibung: Hier ist mein falsch geschriebenes Wort". PSPELL ist jedoch nicht ein All-in-One, insbesondere wenn Sie automatisch die erste vorgeschlagene Rechtschreibalternative verwenden! Für die besten Ergebnisse können Sie alle von PSPell bereitgestellten Vorschläge verwenden. Das folgende Skript gibt zwanzig Vorschläge im Zusammenhang mit dem Wort "Lappin" zurück: (Code -Beispiele sollten hier hinzugefügt werden)
Sie müssen ein Wörterbuch konfigurieren, um PSPELL zu initialisieren. Erstellen Sie dazu einen Deskriptor, der auf die Dictionary -Konfigurationsdatei hinweist, einige der Optionen für diesen Deskriptor ändern und dann das Konfigurationswörterbuch zum Erstellen eines zweiten Deskriptors für das eigentliche Wörterbuch erstellen. Wenn dies ein bisschen kompliziert klingt, machen Sie sich keine Sorgen: Der Code ändert sich sehr wenig und Sie können ihn normalerweise aus einem anderen Skript kopieren. Aber hier werden wir es uns Schritt für Schritt ansehen. Das Folgende ist der Code für das Konfigurationswörterbuch: (Das Codebeispiel sollte hier hinzugefügt werden und die Funktionen jeder Funktion im Code sollten erläutert werden)
Ab diesem Zeitpunkt können Sie das Wörterbuch auf zwei Arten verwenden:
pspell_check($dictionary, "word")
Gibt true zurück, wenn sich "Wort" im Wörterbuch befindet. pspell_suggest($dictionary, "word")
Wenn "Wort" nicht im Wörterbuch ist, wird ein Array von vorgeschlagenen Wörtern zurückgegeben (das erste Element dieses Arrays ist der wahrscheinlichste Kandidat). Die Anzahl der erhaltenen Wörter variiert, aber Sie können mit PSPELL_SLOW und weniger mit PSPELL_FAST mehr erhalten. Jetzt, da das Wörterbuch fertig ist, haben wir die Zeichenfolge als Parameter geschnitten, um das Wort Array zu erhalten: "Hier wird mein Satz" zu einem Array von drei Elementen "hier", "mein" und "Satz". Anschließend überprüfen wir die Schreibweise jedes Wortes mit dem Standardwörterbuch. Weil es keine Kommas mag, löschen wir sie immer noch, bevor wir die Saiten explodieren. Wenn das Wort drei Zeichen überschreitet, überprüfen Sie es, und wenn die Schreibweise falsch ist, machen wir Folgendes: (Schrittanweisungen sollten hier hinzugefügt werden und der Sprachausdruck verbessert werden)
Fügen Sie PSPELL ein benutzerdefiniertes Wörterbuch hinzu
Wenn sich ein Wort nicht im Standardwörterbuch befindet, können Sie es leicht hinzufügen. Sie können jedoch auch ein benutzerdefiniertes Wörterbuch erstellen, das mit dem Standard -Wörterbuch verwendet wird.
Erstellen Sie ein PHP -Verzeichnis auf Ihrer Website mit Schreibberechtigungen und initialisieren Sie ein neues Wörterbuch. Um eine neue Wörterbuchdatei namens Perso.pws zu erstellen, verwenden Sie das folgende Skript: (Das Codebeispiel sollte hier hinzugefügt werden und die Rolle der einzelnen Funktionen im Code und zum Hinzufügen von Wörtern zu einem benutzerdefinierten Wörterbuch)
ErläuternSchlussfolgerung
PSPELL kann Ihnen helfen, Conversions zu verbessern, indem Sie den Besuchern eine Möglichkeit bieten, ihre Tippfehler automatisch zu korrigieren und zu bemerken. Es verbessert die gesamte Sprachgenauigkeit von Sucherfahrungen, Forum-Einsendungen und Websites mit benutzeremmeleiten Inhalten. Wenn Sie einen tieferen Blick auf PSPELL sehen oder auf interessante Weise implementieren möchten, lassen Sie es uns in den Kommentaren unten wissen!
FAQ (FAQ) über die Korrektur von Tippfehler
(Der FAQ -Teil sollte hier hinzugefügt werden, und die ursprünglichen FAQ sollten poliert und umgeschrieben werden, um es prägnanter und leicht zu verstehen)
Das obige ist der detaillierte Inhalt vonFinden und korrigieren Sie falsch geschriebene Wörter mit PSPELL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!