Start · Sprachen · PHP · Referenz · pspell_config_mode

pspell_config_mode

Funktion

Legt den Modus fest, der bestimmt, wie viele und welche Rechtschreibvorschläge von pspell geliefert werden.

seit PHP 5.0.0 Kategorie: string

Signatur

pspell_config_mode(PSpell\Config $config, int $mode): bool

Beschreibung

pspell_config_mode() konfiguriert, in welchem Detaillierungsgrad der pspell-Treiber Vorschläge für falsch geschriebene Wörter zurückgeben soll. Die Funktion muss vor dem Aufruf von pspell_new_config() aufgerufen werden, damit die Einstellung wirksam wird.

Es stehen drei Modi zur Auswahl: PSPELL_FAST liefert nur wenige Vorschläge, arbeitet aber am schnellsten. PSPELL_NORMAL ist der Standardmodus und bietet eine ausgewogene Balance zwischen Geschwindigkeit und Vorschlagsanzahl. PSPELL_BAD_SPELLERS liefert die meisten Vorschläge und ist besonders für Benutzer geeignet, die sehr schlechte Rechtschreibkenntnisse haben – arbeitet jedoch am langsamsten.

Diese Funktion ist Teil der pspell-Konfigurationskette: Zuerst wird eine Konfiguration mit pspell_new_config() vorbereitet, dann werden Optionen wie Modus, persönliche Wortlisten und Zeichenkodierung gesetzt, bevor das Handle mit pspell_new_config() tatsächlich erstellt wird.

Parameter

Name Typ Default Beschreibung
$config Pflicht PSpell\Config Eine pspell-Konfigurationsinstanz, die zuvor mit pspell_config_create() erzeugt wurde.
$mode Pflicht int Der gewünschte Vorschlagsmodus. Gültige Werte sind die Konstanten PSPELL_FAST, PSPELL_NORMAL und PSPELL_BAD_SPELLERS.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler.

Beispiele

Konfiguration mit PSPELL_NORMAL-Modus

<?php
// Konfiguration erstellen
$config = pspell_config_create('de');

// Modus auf normal setzen (ausgewogene Vorschlagsanzahl)
pspell_config_mode($config, PSPELL_NORMAL);

// pspell-Handle mit der Konfiguration öffnen
$pspell = pspell_new_config($config);

// Rechtschreibprüfung eines Wortes
$word = 'Programirung';
if (!pspell_check($pspell, $word)) {
    $suggestions = pspell_suggest($pspell, $word);
    echo "Vorschläge für '$word':\n";
    foreach ($suggestions as $suggestion) {
        echo "  - $suggestion\n";
    }
} else {
    echo "'$word' ist korrekt geschrieben.\n";
}
Vorschläge für 'Programirung': - Programmierung - ...

Vergleich der Modi PSPELL_FAST und PSPELL_BAD_SPELLERS

<?php
$word = 'Helo';

// Schneller Modus – wenige Vorschläge
$configFast = pspell_config_create('en');
pspell_config_mode($configFast, PSPELL_FAST);
$pspellFast = pspell_new_config($configFast);
$fastSuggestions = pspell_suggest($pspellFast, $word);
echo "PSPELL_FAST Vorschläge: " . count($fastSuggestions) . "\n";

// Umfangreicher Modus – viele Vorschläge
$configBad = pspell_config_create('en');
pspell_config_mode($configBad, PSPELL_BAD_SPELLERS);
$pspellBad = pspell_new_config($configBad);
$badSuggestions = pspell_suggest($pspellBad, $word);
echo "PSPELL_BAD_SPELLERS Vorschläge: " . count($badSuggestions) . "\n";
PSPELL_FAST Vorschläge: 3 PSPELL_BAD_SPELLERS Vorschläge: 12

// Wichtig · Fallstricke

Hinweis zur Verfügbarkeit: Die pspell-Erweiterung muss beim Kompilieren von PHP mit --with-pspell aktiviert werden. Viele moderne Hosting-Umgebungen haben diese Erweiterung nicht aktiviert.

Ab PHP 8.1 wird statt einer Integer-Ressource ein PSpell\Config-Objekt als erster Parameter erwartet. In älteren PHP-Versionen war der Parameter noch ein resource-Typ.

Reihenfolge beachten: pspell_config_mode() muss zwingend vor pspell_new_config() aufgerufen werden, da die Konfiguration nach der Erstellung des Handles nicht mehr geändert werden kann.