Stringvergleich nach Regelwerk

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Stringvergleich nach Regelwerk

    Hallo,

    ich suche gerade nach einer Lösung, wie ich einen Stringvergleich mache.
    Folgendes Problem: Worte werden ja nach bestimmten Regeln getrennt.

    Wenn ich nun folgendes mache:
    Ich habe das Wort, welches mir alle möglichen Trennungen zeigt in einem Array. Dazu die "Usereingabe" mit entweder einer falschen Trennung, oder einer oder mehreren richtigen Trennungen. Wie bekomme ich heraus, ob der User richtig oder falsch getrennt hat?

    So stehen mir die Daten zur Verfügung:
    Code:
    Alle möglichen Trennungen im Wort:
    Array
    (
        [0] => S
        [1] => i
        [2] => l
        [3] => -
        [4] => b
        [5] => e
        [6] => n
        [7] => t
        [8] => r
        [9] => e
        [10] => n
        [11] => -
        [12] => n
        [13] => u
        [14] => n
        [15] => g
    )
    Eine richtige Trennung im Wort und eine falsche
    Array
    (
        [0] => S
        [1] => i
        [2] => l
        [3] => -
        [4] => b
        [5] => e
        [6] => n
        [7] => t
        [8] => r
        [9] => e
        [10] => n
        [11] => -
        [12] => n
        [13] => u
        [14] => n
        [15] => g
    )
    Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

  • #2
    bin ich blind, oder sehe ich hier in der tat zweimal das gleiche?

    und nach 'silben' kann man auch trennen.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Nein, du bist nicht blind...

      Ich habe es falsch reingeschrieben
      So sollte es richtig sein. (siehe eingangsposting)
      Zuletzt geändert von Abraxax; 04.12.2005, 14:55.
      Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

      Kommentar


      • #4
        bitte ändere das im eingansposting ab. ich habe keinen bock immer zu scrollen.

        und dann solltest du noch verraten, wie du an die werte kommst.

        ps. ich habe dann auch mal deinen letzten post gekürzt. ;-)
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Sorry Abraxax,

          aber ihr habt mir die Rechte zum Editieren genommen.
          Wie ich an meine Werte komme:

          Ich habe ein Wörterbuch in einer Mysql-Tabelle.
          Dann habe ich aus einem Textfeld einen Text geschrieben von Usern.

          Nun gehe ich Wort für Wort durch und schaue, ob ein Wort irgendwie
          getrennt wurde. Wenn Ja, dann will ich die "Richtigkeit" überprüfen.

          Also zerlege ich beide Worte (das richtige und das falsche) in ein Array.

          PHP-Code:
          $t_array     str_split($temp_word);
          $t_array2     str_split($temp_word_db); 
          Ich hatte irgendwie sowas überlegt:

          Ich gehe Buchstaben für Buchstaben in dem Array (mit allen möglichen Trennungen) durch und vergleiche den aktuellen Buchstaben mit dem aus der Usereingabe. Kommt in dem Vergleichswort ein Trennzeichen, welches nicht an der Stelle des eingegebenen Wortes ist, kürze ich das Array um die Stelle und prüfe von vorne. Der Versuch sah in etwa so aus:


          PHP-Code:

          function rebuild_array($array){
            
          $t_array = array();

            while(
          $value array_shift($array))
                 {
                 
          array_push($t_array,$value);
                 }
          return 
          $t_array;
          }

                 for(
          $k=0;$k count($t_array);$k++){
                    if(
          $t_arrray[$k] == "-" AND $t_array2[$k] != "-"){
                      unset(
          $t_ar[$k]);
                      
          $t_array rebuild_array($t_array);
                      
          $k=0;

                      }
                  } 
          Das war wie gesagtder erste Ansatz
          Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

          Kommentar


          • #6
            Original geschrieben von Abraxax
            bitte ändere das im eingansposting ab. ich habe keinen bock immer zu scrollen.
            Original geschrieben von Yooda
            Sorry Abraxax,

            aber ihr habt mir die Rechte zum Editieren genommen.

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              @yooda
              das mit dem edit-recht-entzug wird seine gründe gehabt haben. dann kannst du's halt nicht mehr bearbeiten. pech für dich ...

              zu deinem problem ....

              in der DB sind alle möglichen trennpositionen erfasst.

              nun würde ich erst einmal hingehen und alle trennungen im ausgelesenen db-string entfernen, welche nicht auf userseite vorhanden sind. dann kannst du den string besser vergleichen, denke ich mal.

              oder willst du eine usertrennung an eine korrekte stelle verschieben? ich denke mal nicht.

              was ist, wenn der user schonmal komplett ValCHe wörter schreibt? dann findest du mit deiner trennung auch nichts mehr. oder?
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                @yooda
                das mit dem edit-recht-entzug wird seine gründe gehabt haben. dann kannst du's halt nicht mehr bearbeiten. pech für dich ...

                Naja, "Pech für mich" ist es nicht... mich stört es nicht zu scrollen...

                Zum Problem:

                Das Problem hat sich erübrigt, weil sich etwas neues bezüglich des Auftraggebers getan hat... Von daher kann ich es an dieser Stelle abbrechen.


                Gruß
                Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

                Kommentar


                • #9
                  Original geschrieben von Yooda
                  Das Problem hat sich erübrigt, weil sich etwas neues bezüglich des Auftraggebers getan hat... Von daher kann ich es an dieser Stelle abbrechen.
                  *lol*? Das war ein Auftrag?
                  Wozu braucht man denn sowas komisches?! Oo,

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    wie ich das liebe .... aufträge annehmen und dann jede kleinigkeit im forum hinterfragen .....
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Und ich liebe es, wenn jeder immer alles kommentierend hinterfragen muss... Es ist ein "Teil" eines Auftrages... Und ich denke, dass solch ein Forum genau für sowas da ist.
                      Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

                      Kommentar

                      Lädt...
                      X