Signatur
Beschreibung
enchant_broker_dict_exists() fragt den Enchant-Broker, ob für das angegebene Sprach-Tag (z. B. de_DE, en_US) ein Wörterbuch installiert und verfügbar ist. Die Funktion gibt true zurück, wenn mindestens ein Backend (z. B. Aspell, Hunspell, Myspell) das entsprechende Wörterbuch bereitstellen kann.
Diese Funktion ist besonders nützlich, bevor man mit enchant_broker_request_dict() ein Wörterbuch öffnet: Man kann so verhindern, dass eine Exception oder ein Fehler entsteht, wenn das gewünschte Wörterbuch nicht installiert ist.
Das $tag folgt dem IETF-BCP-47-Format oder der Unix-Locale-Schreibweise (z. B. de_DE, fr, en_GB). Groß-/Kleinschreibung und Trennzeichen können je nach Backend variieren.
Ab PHP 8.0 wird statt eines Ressourcen-Handles ein EnchantBroker-Objekt verwendet.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $broker Pflicht | EnchantBroker | Ein Enchant-Broker-Objekt, das zuvor mit enchant_broker_init() erstellt wurde. |
|
| $tag Pflicht | string | Das Sprach-Tag des gewünschten Wörterbuchs, z. B. de_DE, en_US oder fr. |
Rückgabewert
true zurück, wenn ein Wörterbuch für das angegebene Sprach-Tag vorhanden ist, andernfalls false.Beispiele
Prüfen, ob ein deutsches Wörterbuch verfügbar ist
<?php
$broker = enchant_broker_init();
$lang = 'de_DE';
if (enchant_broker_dict_exists($broker, $lang)) {
echo "Wörterbuch '{$lang}' ist verfügbar.\n";
$dict = enchant_broker_request_dict($broker, $lang);
// Wörterbuch verwenden ...
enchant_broker_free_dict($dict);
} else {
echo "Wörterbuch '{$lang}' ist NICHT installiert.\n";
}
enchant_broker_free($broker);
Mehrere Sprachen auf Verfügbarkeit prüfen
<?php
$broker = enchant_broker_init();
$sprachen = ['de_DE', 'en_US', 'fr_FR', 'zh_CN'];
foreach ($sprachen as $lang) {
$status = enchant_broker_dict_exists($broker, $lang) ? 'vorhanden' : 'nicht vorhanden';
echo "Wörterbuch '{$lang}': {$status}\n";
}
enchant_broker_free($broker);
// Wichtig · Fallstricke
Verfügbarkeit hängt vom System ab: Das Ergebnis dieser Funktion ist systemabhängig. Auf einem Server ohne installierte Hunspell- oder Aspell-Wörterbücher wird false zurückgegeben, auch wenn das Sprach-Tag korrekt ist.
PHP 8.0-Änderung: Ab PHP 8.0 erwartet die Funktion ein EnchantBroker-Objekt statt einer Ressource. Code, der noch mit der alten Ressourcen-API geschrieben wurde, muss angepasst werden.
Empfehlung: Immer enchant_broker_dict_exists() aufrufen, bevor enchant_broker_request_dict() verwendet wird, um Laufzeitfehler zu vermeiden.