heinetz: pspell_new funktioniert nicht (mehr)

Hallo Forum,

ich möchte das spellchecker-Plugin von tinyMCE nutzen, das die PHP pspell-Funktionen nutzt. Dazu hatte ich a.d. Server zunächst erfolgreich geprüft, ob:

TEST_1)

if (function_exists('pspell_new')) {  
 $pspell_link = pspell_new("en");  
 if (!pspell_check($pspell_link, "testt")) {  
  $suggestions = pspell_suggest($pspell_link, "testt");  
  foreach ($suggestions as $suggestion) {  
   echo "Possible spelling: $suggestion<br />";  
  }  
 }  
} else {  
 echo "pspell is not installed";  
}  

... und dann mit welchen Wörterbüchern:

TEST_2)

$dicts = explode(PHP_EOL,rtrim(`aspell dicts`));  
print_r($dicts);

...  die Erweiterung installiert ist.

Daraufhin hatte ich beim Hoster darum gebeten, das deutsche Wörterbuch zusätzlich zu installieren. Das wurde gemacht. Einem erneutet Durchlauf von TEST_2 zufolge auch scheinbar erfolgreich. Allerdings gibt es jetzt das Problem, dass sich scheinbar keines der Wörterbücher der Wörterbücher mehr öffnen lässt.

Ein erneuter Durchlauf von TEST_1 führt zu folgender Ausgabe:

Warning: pspell_new() [function.pspell-new]: PSPELL couldn't open the dictionary. reason: No word lists can be found for the language "". in /srv/www/digm_web/daimler-bkk35/public/_content/pspell.php on line 9

Interpretiere ich das richtig?

dank für Tipps und
beste gruesse,
heinetz

  1. Auffällig an der Fehlermeldung ist der Leerstring am Ende : '... found for the language "" ...', denn ich habe ja ausdrücklich den Wert "en" für language eingesetzt.

    1. Auffällig an der Fehlermeldung ist der Leerstring am Ende : '... found for the language "" ...', denn ich habe ja ausdrücklich den Wert "en" für language eingesetzt.

      1.)
      Die Warnung für den Fall, dass ein Wörterbuch nicht existiert lautet:

      Warning: pspell_new() [function.pspell-new]: PSPELL couldn't open the dictionary. reason: No word lists can be found for the language "de". in /vrmd/homepages/u27032/fastix.org/test.php on line 3

      2.)
      Deine Fehlermeldung sagt was von Zeile 9. Damit stimmt der Code den Du uns zeigst nicht mit dem verwendetem überein.

      Die Glaskugel sagt: Vermutlich verwendest Du in Zeile 9 eine unbesetzte Variable.

      Jörg Reinholz

      1. Die Glaskugel sagt: Vermutlich verwendest Du in Zeile 9 eine unbesetzte Variable.

        Meine Glaskugel kennt den vollständigen Code:

        <?php  
        error_reporting(E_ALL);  
        @ini_set('display_errors', 1);  
          
        $dicts = explode(PHP_EOL,rtrim(`aspell dicts`));  
        print_r($dicts);  
          
        if (function_exists('pspell_new')) {  
                $pspell_link = pspell_new("en");  
                if (!pspell_check($pspell_link, "testt")) {  
                        $suggestions = pspell_suggest($pspell_link, "testt");  
                        foreach ($suggestions as $suggestion) {  
                                echo "Possible spelling: $suggestion<br />";  
                        }  
                }  
        } else {  
                echo "pspell is not installed";  
        }  
        ?>  
        
        

        ... und aufgrund einer Fehlermeldung, alá '...can be found for the language "de"' hätte ich auf ein Problem mit dem Wörterbuch "en" geschlossen. Die Fehlermeldung lautet aber unabhängig von dem in pspell_new() definierten Parameter immer '...can be found for the language ""'.

        gruss,
        heinetz

        1. Bei mir geht Dein Skript mit "de" und "en".

          -> Hoster anmailen

          1. Bei mir geht Dein Skript mit "de" und "en".

            -> Hoster anmailen

            Sicher, bei mir ging es vor der Installation des neuen Wörterbuchs auch, dass ich das Problem nicht begeben kann, war mir klar und den Hoster habe ich natürlich lange angemailt. Mir ging es lediglich darum, den Fehler zu interpretieren.