Start · Sprachen · PHP · Referenz · pspell_config_ignore

pspell_config_ignore

Funktion

Legt fest, dass Wörter mit weniger als <code>n</code> Buchstaben bei der Rechtschreibprüfung ignoriert werden.

seit PHP 4.0.2 Kategorie: string

Signatur

pspell_config_ignore(PSpell\Config $config, int $n): bool

Beschreibung

pspell_config_ignore konfiguriert ein PSpell-Konfigurationsobjekt so, dass alle Wörter, die kürzer als n Zeichen sind, bei der Rechtschreibprüfung übersprungen werden. Diese Einstellung muss vor dem Erstellen eines PSpell-Wörterbuchs mit pspell_new_config() gesetzt werden.

Dies ist besonders nützlich, wenn sehr kurze Wörter (z. B. Abkürzungen, Initialen oder einbuchstabige Partikel) nicht als Rechtschreibfehler gemeldet werden sollen, da solche Wörter häufig nicht in Wörterbüchern enthalten sind und sonst zu falschen Fehlermeldungen führen würden.

Der Standardwert beträgt in der Regel 0 (kein Ignorieren), sodass alle Wörter geprüft werden. Durch das Setzen eines sinnvollen Schwellenwerts (z. B. 2 oder 3) lässt sich die Anzahl falsch positiver Treffer deutlich reduzieren.

Parameter

Name Typ Default Beschreibung
$config Pflicht PSpell\Config Eine PSpell-Konfigurationsinstanz, die zuvor mit pspell_config_create() erzeugt wurde.
$n Pflicht int Die Mindestanzahl an Buchstaben, die ein Wort haben muss, damit es geprüft wird. Wörter mit weniger als n Zeichen werden ignoriert.

Rückgabewert

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

Beispiele

Kurze Wörter bei der Rechtschreibprüfung ignorieren

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

// Wörter mit weniger als 3 Buchstaben ignorieren
pspell_config_ignore($config, 3);

// Wörterbuch mit dieser Konfiguration öffnen
$pspell = pspell_new_config($config);

// Kurzes Wort (2 Buchstaben) wird ignoriert, kein Fehler
$word_short = 'ab';
if (pspell_check($pspell, $word_short)) {
    echo "'$word_short' ist korrekt (oder wurde ignoriert).\n";
} else {
    echo "'$word_short' ist falsch geschrieben.\n";
}

// Längeres Wort wird geprüft
$word_long = 'Haus';
if (pspell_check($pspell, $word_long)) {
    echo "'$word_long' ist korrekt.\n";
} else {
    echo "'$word_long' ist falsch geschrieben.\n";
}
'ab' ist korrekt (oder wurde ignoriert). 'Haus' ist korrekt.

Konfiguration mit mehreren Optionen kombinieren

<?php
$config = pspell_config_create('en');

// Wörter unter 4 Buchstaben ignorieren
pspell_config_ignore($config, 4);

// Rechtschreibmodus auf schnell setzen
pspell_config_mode($config, PSPELL_FAST);

$pspell = pspell_new_config($config);

$words = ['I', 'am', 'writting', 'code'];
foreach ($words as $word) {
    if (strlen($word) < 4) {
        echo "'$word' wird ignoriert (zu kurz).\n";
    } elseif (pspell_check($pspell, $word)) {
        echo "'$word' ist korrekt.\n";
    } else {
        echo "'$word' ist FALSCH geschrieben.\n";
    }
}
'I' wird ignoriert (zu kurz). 'am' wird ignoriert (zu kurz). 'writting' ist FALSCH geschrieben. 'code' ist korrekt.

// Wichtig · Fallstricke

Wichtig: pspell_config_ignore muss vor dem Aufruf von pspell_new_config() aufgerufen werden. Änderungen an der Konfiguration nach dem Öffnen des Wörterbuchs haben keine Wirkung.

Ab PHP 8.1.0 wird der Parameter $config als PSpell\Config-Objekt erwartet. In früheren Versionen wurde ein int-Handle verwendet. Die PSpell-Erweiterung setzt die externe Bibliothek GNU Aspell voraus und ist in vielen Standard-PHP-Builds nicht aktiviert.