Signatur
Beschreibung
enchant_dict_add_to_session() fügt das angegebene Wort zur laufenden Sitzung des Enchant-Wörterbuchs hinzu. Das bedeutet, dass das Wort für die Dauer der Sitzung als korrekt geschrieben gilt und bei zukünftigen Prüfungen mit enchant_dict_check() keinen Fehler mehr auslöst.
Im Gegensatz zu enchant_dict_add() wird das Wort nicht dauerhaft im persönlichen Wörterbuch des Benutzers gespeichert. Sobald die Sitzung beendet und das Wörterbuch freigegeben wird, ist die Ergänzung verloren. Diese Funktion ist daher ideal für einmalige, anwendungsspezifische Begriffe wie Firmennamen, Produktbezeichnungen oder temporäre Fachterminologie.
Typische Einsatzszenarien sind Webanwendungen, die Benutzereingaben auf Rechtschreibung prüfen und dabei bestimmte domänenspezifische Begriffe als gültig behandeln sollen, ohne das systemweite Wörterbuch zu verändern.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $dictionary Pflicht | EnchantDictionary | Ein gültiges EnchantDictionary-Objekt, das zuvor mit enchant_broker_request_dict() oder enchant_broker_request_pwl_dict() erzeugt wurde. |
|
| $word Pflicht | string | Das Wort, das der aktuellen Rechtschreibprüfungssitzung hinzugefügt werden soll. Groß- und Kleinschreibung wird beachtet. |
Rückgabewert
Beispiele
Temporäres Hinzufügen eines Firmennamens zur Sitzung
<?php
$broker = enchant_broker_init();
$dict = enchant_broker_request_dict($broker, 'de_DE');
$firmenname = 'Programmierung';
// Vor dem Hinzufügen: Wort möglicherweise als falsch markiert
if (!enchant_dict_check($dict, $firmenname)) {
echo "'{$firmenname}' wird als falsch erkannt. Füge es zur Sitzung hinzu.\n";
enchant_dict_add_to_session($dict, $firmenname);
}
// Nach dem Hinzufügen: Wort gilt als korrekt
if (enchant_dict_check($dict, $firmenname)) {
echo "'{$firmenname}' wird nun in dieser Sitzung als korrekt akzeptiert.\n";
}
enchant_broker_free($broker);
Mehrere Fachbegriffe für eine Prüfsitzung registrieren
<?php
$broker = enchant_broker_init();
$dict = enchant_broker_request_dict($broker, 'de_DE');
$fachbegriffe = ['PHP', 'API', 'JSON', 'YAML', 'HTTP'];
foreach ($fachbegriffe as $begriff) {
enchant_dict_add_to_session($dict, $begriff);
}
$texte = ['PHP ist toll.', 'Ich mag JSON.', 'Das ist ein Fehlr.'];
foreach ($texte as $text) {
$woerter = explode(' ', str_replace('.', '', $text));
foreach ($woerter as $wort) {
if (!enchant_dict_check($dict, $wort)) {
$vorschlaege = enchant_dict_suggest($dict, $wort);
echo "Unbekanntes Wort: '{$wort}'. Vorschläge: " . implode(', ', array_slice($vorschlaege, 0, 3)) . "\n";
}
}
}
enchant_broker_free($broker);
// Wichtig · Fallstricke
Sitzungsbezogen: Die mit dieser Funktion hinzugefügten Wörter gelten nur für die Lebensdauer des EnchantDictionary-Objekts. Nach dem Aufruf von enchant_broker_free() oder am Ende des Skripts sind sie nicht mehr verfügbar.
Unterschied zu enchant_dict_add(): Soll ein Wort dauerhaft im persönlichen Wörterbuch des Benutzers gespeichert werden, muss stattdessen enchant_dict_add() verwendet werden.
Ab PHP 8.0 wird statt einer Ressource ein EnchantDictionary-Objekt erwartet. Älterer Code, der Ressourcen verwendet, muss entsprechend angepasst werden.