Start · Sprachen · PHP · Referenz · enchant_dict_remove_from_session

enchant_dict_remove_from_session

Funktion

Entfernt ein Wort aus dem Sitzungswörterbuch einer Enchant-Rechtschreibprüfung.

seit PHP 8.0.0 Kategorie: string

Signatur

enchant_dict_remove_from_session(EnchantDictionary $dictionary, string $word): void

Beschreibung

enchant_dict_remove_from_session entfernt ein zuvor mit enchant_dict_add_to_session hinzugefügtes Wort aus dem temporären Sitzungswörterbuch des angegebenen EnchantDictionary-Objekts. Das Sitzungswörterbuch existiert nur für die Laufzeit der aktuellen PHP-Sitzung und wird nicht dauerhaft gespeichert.

Diese Funktion ist nützlich, wenn ein Wort versehentlich zur Sitzung hinzugefügt wurde und wieder als potenziell falsch geschrieben behandelt werden soll, ohne die permanenten Benutzerwörterbücher zu verändern. Sie wirkt sich ausschließlich auf den flüchtigen, sitzungsbezogenen Wortschatz aus.

Im Gegensatz dazu entfernt enchant_dict_remove Wörter dauerhaft aus dem persönlichen Wörterbuch des Benutzers. Die Unterscheidung ist wichtig, wenn die Rechtschreibprüfung in interaktiven Anwendungen eingesetzt wird, bei denen Nutzer temporäre Ausnahmen definieren dürfen.

Parameter

Name Typ Default Beschreibung
$dictionary Pflicht EnchantDictionary Ein gültiges EnchantDictionary-Objekt, das zuvor mit enchant_broker_request_dict oder einer ähnlichen Funktion erzeugt wurde.
$word Pflicht string Das Wort, das aus dem Sitzungswörterbuch entfernt werden soll. Das Wort muss zuvor mit enchant_dict_add_to_session hinzugefügt worden sein.

Rückgabewert

Typ
void
Beschreibung
Diese Funktion gibt keinen Wert zurück.

Beispiele

Wort zur Sitzung hinzufügen und wieder entfernen

<?php
$broker = enchant_broker_init();
$dict = enchant_broker_request_dict($broker, 'de_DE');

$word = 'Fachausdruck';

// Wort temporär zur Sitzung hinzufügen
enchant_dict_add_to_session($dict, $word);

// Prüfen ob das Wort jetzt akzeptiert wird
var_dump(enchant_dict_is_correct($dict, $word)); // bool(true)

// Wort wieder aus der Sitzung entfernen
enchant_dict_remove_from_session($dict, $word);

// Jetzt wird das Wort wieder als falsch behandelt (falls nicht im Hauptwörterbuch)
var_dump(enchant_dict_is_correct($dict, $word)); // bool(false)

enchant_broker_free($broker);
bool(true) bool(false)

Temporäre Ausnahmen in einem Bearbeitungsprozess verwalten

<?php
$broker = enchant_broker_init();
$dict = enchant_broker_request_dict($broker, 'de_DE');

$temporaryWords = ['EigenmarkeXYZ', 'ProjektnameABC'];

// Projektnamen vorübergehend hinzufügen
foreach ($temporaryWords as $w) {
    enchant_dict_add_to_session($dict, $w);
}

// Rechtschreibprüfung durchführen ...
$testText = ['EigenmarkeXYZ', 'Rechtschreipfehler', 'ProjektnameABC'];
foreach ($testText as $token) {
    if (!enchant_dict_is_correct($dict, $token)) {
        echo "Fehler: $token\n";
    }
}

// Nach der Bearbeitung Sitzungswörter wieder entfernen
foreach ($temporaryWords as $w) {
    enchant_dict_remove_from_session($dict, $w);
}

enchant_broker_free($broker);
Fehler: Rechtschreipfehler

// Wichtig · Fallstricke

Hinweis: Das Sitzungswörterbuch ist flüchtig und wird nicht auf der Festplatte gespeichert. Änderungen durch enchant_dict_remove_from_session betreffen ausschließlich die aktuelle Laufzeit. Um Wörter dauerhaft aus dem persönlichen Wörterbuch zu entfernen, sollte stattdessen enchant_dict_remove verwendet werden.

Falls das angegebene Wort nicht im Sitzungswörterbuch vorhanden ist, hat der Aufruf keine Auswirkungen und erzeugt keinen Fehler.