Start · Sprachen · PHP · Referenz · pspell_config_create

pspell_config_create

Funktion

Erzeugt eine neue PSpell-Konfiguration, die anschließend mit <code>pspell_new_config()</code> zum Öffnen eines Wörterbuchs verwendet werden kann.

seit PHP 4.0.2 Kategorie: string

Signatur

pspell_config_create(string $language, string $spelling = '', string $jargon = '', string $encoding = ''): PSpell\Config

Beschreibung

pspell_config_create() initialisiert ein Konfigurationsobjekt für die PSpell-Rechtschreibprüfung. Im Gegensatz zu pspell_new() ermöglicht es, vor dem eigentlichen Öffnen des Wörterbuchs weitere Einstellungen (z. B. Wortmodus, Zeichensatz, persönliche Wortlisten) über weitere pspell_config_*-Funktionen vorzunehmen.

Der Hauptvorteil dieser Vorgehensweise liegt darin, dass das Wörterbuch erst dann geladen wird, wenn pspell_new_config() aufgerufen wird – zu diesem Zeitpunkt sind alle Konfigurationsoptionen bereits gesetzt. Das spart Ressourcen und ermöglicht eine feinere Steuerung der Rechtschreibprüfung.

Das erste Pflichtargument language erwartet eine Sprachkennung gemäß ISO 639 (z. B. de oder de_DE). Die optionalen Parameter erlauben die Angabe einer Schreibweise (spelling), eines Jargons (jargon, um zwischen Varianten zu unterscheiden) sowie einer Zeichenkodierung (encoding).

Typische Anwendungsfälle sind mehrsprachige Webanwendungen, Content-Management-Systeme oder Formulare, bei denen Benutzereingaben auf korrekte Rechtschreibung geprüft werden sollen.

Parameter

Name Typ Default Beschreibung
$language Pflicht string Sprachcode nach ISO 639, z. B. 'de', 'de_DE' oder 'en_US'. Bestimmt, welches Wörterbuch geladen wird.
$spelling string Optionale Angabe der Rechtschreibvariante, z. B. 'american', 'british' oder 'canadian' für Englisch. Wird nur für Sprachen benötigt, die mehrere Varianten kennen.
$jargon string Optionaler Jargon-String, der zusammen mit language und spelling eine spezifische Wörterbuchdatei identifiziert, wenn mehrere Varianten installiert sind.
$encoding string Erwartete Zeichenkodierung der zu prüfenden Texte, z. B. 'utf-8', 'iso8859-1' oder 'koi8-r'. Wird leer gelassen, verwendet PSpell die Systemstandardkodierung.

Rückgabewert

Typ
PSpell\Config
Beschreibung
Gibt bei Erfolg ein PSpell\Config-Objekt (vor PHP 8.1 eine Ressource) zurück, das an weitere pspell_config_*-Funktionen und abschließend an pspell_new_config() übergeben werden kann. Bei einem Fehler wird false zurückgegeben.

Beispiele

Deutsches Wörterbuch mit UTF-8-Kodierung konfigurieren und öffnen

<?php
// Konfiguration für deutsches Wörterbuch erstellen
$config = pspell_config_create('de', '', '', 'utf-8');

// Nur Hauptwörter des Wörterbuchs laden (schneller)
pspell_config_mode($config, PSPELL_FAST);

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

$word = 'Rechtschreibung';
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);
}
'Rechtschreibung' ist korrekt geschrieben.

Persönliche Wortliste einbinden

<?php
// Konfiguration für englisches Wörterbuch
$config = pspell_config_create('en', 'american', '', 'utf-8');

// Persönliche Wortliste hinzufügen (eigene Fachbegriffe)
pspell_config_personal($config, '/tmp/my_personal.pws');

// Wörter im Zwischenspeicher zunächst sammeln
pspell_config_repl($config, '/tmp/my_repl.prepl');

$dictionary = pspell_new_config($config);

// Eigenes Wort zur persönlichen Liste hinzufügen
pspell_add_to_personal($dictionary, 'phpdev');
pspell_store_replacement($dictionary, 'teh', 'the');

// Persönliche Liste speichern
pspell_save_wordlist($dictionary);

echo "Wörterbuch mit persönlicher Wortliste erfolgreich konfiguriert.";
Wörterbuch mit persönlicher Wortliste erfolgreich konfiguriert.

// Wichtig · Fallstricke

Erweiterung erforderlich: Die PSpell-Erweiterung muss beim Kompilieren von PHP mit --with-pspell aktiviert worden sein und benötigt die Aspell-Bibliothek sowie die entsprechenden Wörterbücher auf dem System.

PHP 8.1: Ab PHP 8.1.0 gibt die Funktion ein PSpell\Config-Objekt zurück, zuvor war es eine Ressource vom Typ pspell config. Code, der auf Ressourcen prüft (is_resource()), muss angepasst werden.

Wörterbücher installieren: Unter Debian/Ubuntu können Aspell-Wörterbücher z. B. mit apt-get install aspell-de installiert werden. Ohne passendes Wörterbuch schlägt pspell_new_config() fehl.

Zeichenkodierung: Es wird empfohlen, die Kodierung explizit auf 'utf-8' zu setzen, wenn die zu prüfenden Texte in UTF-8 vorliegen, da Fehler bei der Kodierung zu falschen Prüfergebnissen führen können.