Signatur
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
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);
}
?>
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.";
?>
// 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.