Signatur
Beschreibung
pspell_config_dict_dir setzt in einer Pspell-Konfiguration den Pfad zum Verzeichnis, das die Haupt-Wortlisten (Wörterbuchdateien) enthält. Die Funktion muss aufgerufen werden, bevor die Konfiguration mit pspell_new_config() in ein aktives Wörterbuch-Objekt umgewandelt wird.
Typischerweise wird diese Funktion verwendet, wenn Wörterbücher nicht im Standard-Systempfad installiert sind – etwa in einer Shared-Hosting-Umgebung oder bei portablen Anwendungen, die eigene Wörterbuchdateien mitliefern. Sie gibt in Kombination mit pspell_config_new() und weiteren Konfigurationsfunktionen die vollständige Kontrolle über die Pspell-Umgebung.
Der übergebene Pfad muss auf ein Verzeichnis zeigen, das gültige Aspell-kompatible Wörterbuchdateien enthält (in der Regel .rws- oder .cwl-Dateien). Ein ungültiger oder nicht vorhandener Pfad führt beim späteren pspell_new_config()-Aufruf zu einem Fehler.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $config Pflicht | PSpell\Config | Eine Pspell-Konfigurationsinstanz, die zuvor mit pspell_config_create() erzeugt wurde. |
|
| $directory Pflicht | string | Absoluter oder relativer Pfad zum Verzeichnis, das die Haupt-Wortlisten enthält. |
Rückgabewert
true bei Erfolg zurück, false bei einem Fehler (z. B. wenn die Konfigurationsinstanz ungültig ist).Beispiele
Eigenes Wörterbuchverzeichnis konfigurieren
<?php
// Pspell-Konfiguration für Deutsch erstellen
$config = pspell_config_create('de');
// Benutzerdefiniertes Verzeichnis für Wortlisten setzen
pspell_config_dict_dir($config, '/var/myapp/dictionaries');
// Konfiguration aktivieren
$spellcheck = pspell_new_config($config);
if ($spellcheck) {
$wort = 'Rechtschreibung';
if (pspell_check($spellcheck, $wort)) {
echo "'$wort' ist korrekt geschrieben.\n";
} else {
echo "'$wort' ist NICHT im Wörterbuch gefunden.\n";
}
} else {
echo "Wörterbuch konnte nicht geladen werden.\n";
}
Kombination mehrerer Pspell-Konfigurationsoptionen
<?php
// Konfiguration erstellen
$config = pspell_config_create('en');
// Wörterbuchverzeichnis setzen
pspell_config_dict_dir($config, '/usr/share/myapp/dicts');
// Modus auf schnell stellen
pspell_config_mode($config, PSPELL_FAST);
// Konfiguration aktivieren
$pspell = pspell_new_config($config);
if ($pspell) {
$words = ['hello', 'wrold', 'php'];
foreach ($words as $word) {
$status = pspell_check($pspell, $word) ? 'OK' : 'Fehler';
echo "$word: $status\n";
}
}
// Wichtig · Fallstricke
Deprecation-Hinweis: Die Pspell-Erweiterung gilt als veraltet und wird in modernen PHP-Umgebungen kaum noch eingesetzt. Für neue Projekte empfiehlt sich der Einsatz alternativer Rechtschreibprüfungsbibliotheken.
Stellen Sie sicher, dass der angegebene Pfad für den Webserver-Prozess lesbar ist, da andernfalls das Laden des Wörterbuchs still fehlschlägt oder eine Warnung ausgegeben wird. Testen Sie den Pfad mit is_dir() und is_readable() vorab.
Ab PHP 8.1 wird der erste Parameter als PSpell\Config-Objekt übergeben; in älteren PHP-Versionen handelt es sich um eine einfache Integer-Ressource.