Rechtschreibprüfung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Original geschrieben von TobiaZ
    was sagst du zu explode?
    Das >>

    PHP Code:

    <?

    $text = "Das ist ein Test Text";
    $textteil = explode (" ", $text);

    echo $textteil;
    ?>
    Ausgabe :

    Array
    PHP
    MySQL
    Jetzt klicken & reich werden

    Comment


    • #17
      *klatsch!!!*

      OffTopic:
      was versprichst du dir von dem code, dass er dir die fertige prüfung mit unterstreichung (wahrscheinlich auch verbesserung) usw. ausgibt


      hast du dir mal mit manual/grundlagen/arrays gearbeitet???

      Comment


      • #18
        Ich bin neu mit dem ganzen PHP zeugs und dachte, dass er da wenigstens ein einzelnes Wort ausgibt.
        Hier stand ja nicht viel drin um richtig drauss schlau zu werden
        http://www.php-resource.de/manual.ph...nction.explode
        Sorry.
        PHP
        MySQL
        Jetzt klicken & reich werden

        Comment


        • #19
          Hier stand ja nicht viel drin um richtig drauss schlau zu werden
          Ansichtssache, oder?
          Gibt ein Array aus Strings zurück.

          Comment


          • #20
            Mein Code bis jetzt...

            PHP Code:
            <?
              include("config.php"); // datenbankverbindung herstellen

             $eingabe = "Das ist ein xxx Test Text"; 
             $eingabe_array = explode(' ',$eingabe); 

               for($i=0; $i<count($eingabe_array); $i++){
              $res =  mysql_query("select wort from wortliste where wort = '$eingabe_array[$i]' ") or die(mysql_error());
              while($row =  mysql_fetch_array($res)) { 
              echo "$row[wort] ";
               } 
            }
            ?>
            xxx kommt in der Wortliste nicht vor, also hab ich

            Das ist ein Test Text als Ausgabe.

            Wie zeig ich jetzt die Wörter an die nicht gefunden worden sind?
            Last edited by JohnM; 14-09-2003, 13:55.
            PHP
            MySQL
            Jetzt klicken & reich werden

            Comment


            • #21
              einfach mit num_rows gucken ob vorhanden.

              Comment


              • #22
                MySQL-Queries in Schleifen sind gar nicht gut.

                Sobald die User-Zahlen steigen bricht die DB nämlich ziemlich schnell zusammen (vor allem, wenn du für jedes geschriebene Wort einzeln ne Abfrage machst).
                hopka.net!

                Comment


                • #23
                  @Hopka: was du nicht sagst!!! Die ganze Prüfung ist nicht gut. Aber es ist ja nur experimentell.

                  Comment


                  • #24
                    Original geschrieben von TobiaZ
                    Die ganze Prüfung ist nicht gut. Aber es ist ja nur experimentell.
                    Ja, also zur Demonstration, dass es funktioniert, reicht ja so ein kleines Experiment, weil da nur ein paar User drauf klicken.

                    Wenn das Experiment geglückt ist, wäre es aber interessant, wie man eine gute Prüfung programmiert.

                    PHP Code:
                    <?
                      include("config.php");

                     $eingabe = "Das ist ein xxx Test Text"; 
                     $eingabe_array = explode(' ',$eingabe); 

                       for($i=0; $i<count($eingabe_array); $i++){
                      $res =  mysql_query("select wort from wortliste where wort = '$eingabe_array[$i]' ") or die(mysql_error());  
                      $num_rows = mysql_num_rows($res); 
                      if($num_rows == 0)
                      echo "Wort falsch oder nicht gefunden : " .$eingabe_array[$i]. " <br>";
                      while($row =  mysql_fetch_array($res)) 
                    }
                    ?>
                    PHP
                    MySQL
                    Jetzt klicken & reich werden

                    Comment


                    • #25
                      was ordentliches wird php dir nicht bieten!

                      [PHP] $num_rows = mysql_num_rows($res);
                      if($num_rows == 0)
                      echo "Wort falsch oder nicht gefunden : " .$eingabe_array[$i]. " <br>";
                      while($row = mysql_fetch_array($res)) [PHP]
                      - ich denk du wolltest unterstreichen
                      - kannst auch direkt die fkt einbauen
                      - fetcharray brauchst du nicht mehr.
                      - LIMIT 1 anhängen. das beschleunigt die sache.

                      vielleicht sollte man aber besser mit count(wort) arbeiten.

                      Comment


                      • #26
                        das rad neu erfinden ...

                        Hallöchen,
                        also ne rechtschreibprüfung mit php, das wäre doch was oder?

                        aber warum das rad neu erfinden?

                        es gibt doch programme, die sich über die shell (shell_exec,shell,system - funktionen in php) ansprechen lassen.

                        z.B.: Ispell unter linux

                        Es könnte nur ein Problem mit dem Provider geben, wenn man kein safemode="Off" oder open_basedir etc ... hat



                        Hier ein kleines Beispiel: (Benötigt ispell evtl. mit german dictionary)
                        PHP Code:
                        <?php
                        function spellcheck($the_string) {
                            
                        $the_string eregi_replace("<[^>]*>"" "$the_string);
                            
                        mt_srand((double) microtime() * 1000000);
                            
                        $rand_string mt_rand();
                            
                        $tmp_file_handler fopen("./in-$rand_string""w+");
                            
                        fwrite($tmp_file_handler$the_string);
                            
                        fclose($tmp_file_handler);
                            
                        system("ispell -l < in-$rand_string > temp-$rand_string");
                            
                        unlink("in-$rand_string");
                            if(
                        filesize("temp-$rand_string") > 1) {
                                
                        $count 0;
                                
                        $tmp_file_handler fopen("temp-$rand_string""r");
                                while(!
                        feof($tmp_file_handler)) {
                                    
                        $schlechte_woerter[$count] = trim(fgets($tmp_file_handler255));
                                    
                        $gute_woerter[$count] = "<font color=\"#FFCC00\"><b>".$schlechte_woerter[$count]."</b></font>";
                                    
                        $count++;
                                }
                                
                        fclose($tmp_file_handler);
                                
                        $count--;
                                for(
                        $x=0;$x<$count;$x++) {
                                    
                        $the_string str_replace($schlechte_woerter[$x], $gute_woerter[$x], $the_string);
                                }
                            }
                            
                        unlink("temp-$rand_string");
                            return 
                        $the_string;
                        }

                        $the_string "Meine Omma hat sich den Fus gebrocken.";
                        $falsche_woerter spellcheck($the_string);
                        echo 
                        "Falsche wörter: ".$falsche_woerter;
                        ?>

                        Comment


                        • #27
                          Ist zwar schon ne Weile her, aber wo kann man sich so eine Wortliste runterladen?
                          Wie erwähnt ist der Inhalt des Dictionarys von anderen netten Leuten.
                          Ich bin unschuldig.
                          Die da waren es >>> Symtec Development Studio version 2.0
                          find da nix ...
                          Mess with the Besth, die like the rest!

                          Comment


                          • #28
                            Stichwörter: OpenOffice, de_DE-pack.zip
                            Slava
                            bituniverse.com

                            Comment

                            Working...
                            X