Start · Sprachen · PHP · Referenz · pspell_config_repl

pspell_config_repl

Funktion

Legt die Datei fest, in der Ersetzungspaare für die persönliche Wortliste gespeichert werden.

seit PHP 4.0.2 Kategorie: string

Signatur

pspell_config_repl(PSpell\Config $config, string $filename): bool

Beschreibung

pspell_config_repl konfiguriert eine Pspell-Konfiguration so, dass Ersetzungspaare (Tipp-Korrekturen) in einer bestimmten Datei gespeichert und von dort geladen werden. Ersetzungspaare sind Paare aus falsch geschriebenen Wörtern und ihren korrekten Gegenstücken, die beim Aufruf von pspell_store_replacement gespeichert werden.

Die Funktion muss vor dem Erstellen des eigentlichen Wörterbuchs mit pspell_new_config aufgerufen werden, da die Konfiguration danach nicht mehr verändert werden kann. Nur in diesem Zusammenhang mit einer individuellen Ersetzungsdatei wird die korrekte Reihenfolge für hochwertige Rechtschreibvorschläge gewährleistet.

Ersetzungspaare erhöhen die Qualität der Vorschläge, die Pspell liefert: Wörter, für die zuvor eine manuelle Korrektur gespeichert wurde, erscheinen in der Vorschlagsliste weiter oben. Dies ist besonders nützlich für benutzerspezifische Rechtschreibfehler, etwa in einem Texteditor oder Redaktionssystem.

Die angegebene Datei muss vom Webserver-Prozess schreibbar sein. Es empfiehlt sich, sie außerhalb des öffentlichen Web-Verzeichnisses zu speichern, da sie benutzerbezogene Daten enthalten kann.

Parameter

Name Typ Default Beschreibung
$config Pflicht PSpell\Config Eine Pspell-Konfigurationsinstanz, wie sie von pspell_config_create erstellt wurde.
$filename Pflicht string Absoluter Dateipfad zur Datei, in der die Ersetzungspaare gespeichert werden sollen. Die Datei muss für den Webserver-Prozess schreibbar sein.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. wenn die Datei nicht zugänglich ist oder die Konfiguration ungültig ist).

Beispiele

Ersetzungsdatei konfigurieren und Wörterbuch erstellen

<?php
// Konfiguration erstellen
$config = pspell_config_create('de');

// Persönliche Wortliste und Ersetzungsdatei festlegen
pspell_config_personal($config, '/var/pspell/user_personal.pws');
pspell_config_repl($config, '/var/pspell/user_repl.repl');

// Wörterbuch auf Basis der Konfiguration öffnen
$dictionary = pspell_new_config($config);

// Prüfen, ob ein Wort korrekt ist
$word = 'Beispiel';
if (pspell_check($dictionary, $word)) {
    echo "'$word' ist korrekt geschrieben.";
} else {
    echo "'$word' ist falsch geschrieben.";
    $suggestions = pspell_suggest($dictionary, $word);
    echo ' Vorschläge: ' . implode(', ', $suggestions);
}
?>
'Beispiel' ist korrekt geschrieben.

Ersetzungspaar speichern und später nutzen

<?php
$config = pspell_config_create('de');
pspell_config_personal($config, '/var/pspell/user_personal.pws');
pspell_config_repl($config, '/var/pspell/user_repl.repl');

$dictionary = pspell_new_config($config);

// Benutzerspezifisches Ersetzungspaar speichern
// (Falschschreibung => korrekte Schreibung)
pspell_store_replacement($dictionary, 'Baisipel', 'Beispiel');

// Änderungen in die Ersetzungsdatei schreiben
pspell_save_wordlist($dictionary);

echo "Ersetzungspaar wurde gespeichert.";
?>
Ersetzungspaar wurde gespeichert.

// Wichtig · Fallstricke

Sicherheitshinweis: Die Ersetzungsdatei sollte außerhalb des öffentlichen Web-Verzeichnisses gespeichert werden, da sie benutzerbezogene Daten enthält. Stellen Sie sicher, dass der Pfad nicht durch Benutzereingaben manipuliert werden kann (Path-Traversal-Angriffe).

Ab PHP 8.1.0 werden die Pspell-Ressourcen durch das Objekt PSpell\Config ersetzt. In älteren PHP-Versionen war der erste Parameter ein int-Ressource-Handle.

Die Funktion ist nur verfügbar, wenn PHP mit Pspell-Unterstützung kompiliert wurde (--with-pspell). Diese Erweiterung gilt als veraltet und sollte in neuen Projekten nicht mehr eingesetzt werden; modernere Alternativen wie enchant werden empfohlen.