Start · Sprachen · PHP · Referenz · enchant_dict_is_added

enchant_dict_is_added

Funktion

Prüft, ob ein Wort mithilfe von <code>enchant_dict_add</code> zur aktuellen Enchant-Sitzung hinzugefügt wurde.

seit PHP 8.0.0 Kategorie: string

Signatur

enchant_dict_is_added(EnchantDictionary $dictionary, string $word): bool

Beschreibung

enchant_dict_is_added überprüft, ob ein bestimmtes Wort innerhalb der aktuellen Enchant-Sitzung manuell zum Wörterbuch hinzugefügt wurde – also ob enchant_dict_add zuvor für dieses Wort aufgerufen wurde. Dabei wird ausschließlich die Sitzungsliste (Session-Wortliste) geprüft, nicht das dauerhafte persönliche Wörterbuch.

Diese Funktion ist nützlich, um doppelte Einträge zu vermeiden, bevor ein Wort zur Sitzungswortliste hinzugefügt wird, oder um den aktuellen Stand der sitzungsbezogenen Wortliste zu inspizieren.

Es ist wichtig zu beachten, dass die Funktion nur Wörter erkennt, die mit enchant_dict_add zur Sitzungsliste hinzugefügt wurden, nicht solche, die mit enchant_dict_add_to_personal dauerhaft ins persönliche Wörterbuch eingetragen wurden.

Parameter

Name Typ Default Beschreibung
$dictionary Pflicht EnchantDictionary Eine gültige EnchantDictionary-Instanz, die zuvor mit enchant_broker_request_dict oder enchant_broker_request_pwl_dict erzeugt wurde.
$word Pflicht string Das zu prüfende Wort, dessen Vorhandensein in der Sitzungswortliste festgestellt werden soll.

Rückgabewert

Typ
bool
Beschreibung
Gibt true zurück, wenn das Wort in der aktuellen Sitzung mit enchant_dict_add hinzugefügt wurde, andernfalls false.

Beispiele

Wort zur Sitzung hinzufügen und prüfen

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

$word = 'Testbegriff';

// Vor dem Hinzufügen prüfen
if (!enchant_dict_is_added($dict, $word)) {
    enchant_dict_add($dict, $word);
    echo "'$word' wurde zur Sitzung hinzugefügt.\n";
} else {
    echo "'$word' ist bereits in der Sitzung vorhanden.\n";
}

// Erneut prüfen
if (enchant_dict_is_added($dict, $word)) {
    echo "Bestätigt: '$word' ist jetzt in der Sitzungsliste.\n";
}

enchant_broker_free($broker);
'Testbegriff' wurde zur Sitzung hinzugefügt. Bestätigt: 'Testbegriff' ist jetzt in der Sitzungsliste.

Mehrere Wörter verwalten ohne Duplikate

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

$neueWoerter = ['Fachbegriff', 'Eigenname', 'Fachbegriff', 'Neologismus'];

foreach ($neueWoerter as $wort) {
    if (!enchant_dict_is_added($dict, $wort)) {
        enchant_dict_add($dict, $wort);
        echo "Hinzugefügt: $wort\n";
    } else {
        echo "Übersprungen (bereits vorhanden): $wort\n";
    }
}

enchant_broker_free($broker);
Hinzugefügt: Fachbegriff Hinzugefügt: Eigenname Übersprungen (bereits vorhanden): Fachbegriff Hinzugefügt: Neologismus

// Wichtig · Fallstricke

Vor PHP 8.0 wurde das EnchantDictionary-Objekt als resource übergeben. Ab PHP 8.0 werden echte Objekte vom Typ EnchantDictionary verwendet.

Achtung: Die Funktion prüft ausschließlich die flüchtige Sitzungsliste. Wörter, die dauerhaft über enchant_dict_add_to_personal gespeichert wurden, werden von enchant_dict_is_added nicht erkannt und liefern false, auch wenn sie tatsächlich im persönlichen Wörterbuch vorhanden sind.