Start · Sprachen · PHP · Referenz · pspell_config_dict_dir

pspell_config_dict_dir

Funktion

Legt das Verzeichnis fest, in dem <code>pspell</code> die Haupt-Wortlisten sucht.

seit PHP 5.0.0 Kategorie: string

Signatur

pspell_config_dict_dir(PSpell\Config $config, string $directory): bool

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

Typ
bool
Beschreibung
Gibt 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";
}
'Rechtschreibung' ist korrekt geschrieben.

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";
    }
}
hello: OK wrold: Fehler php: OK

// 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.