Carl: Bestimmten Ausdruck identifizieren

Hi

ich such nach ner möglichkeit, dass enn jemand daten in ein textteld kopiert, diese dann vom script analysiert werden und ausdrücke einer bestimmten sorte sortiert werden.

also zum beispiel:

123:4 hallo 1234

Dann soll 123:4 als eigener ausdruck angesehen werden, hallo als eigener und 1234 als eigener. Wie kann ich das machen?

  1. Hallo,

    123:4 hallo 1234

    Dann soll 123:4 als eigener ausdruck angesehen werden, hallo als eigener und 1234 als eigener. Wie kann ich das machen?

    http://www.php.net/manual/en/function.explode.php

    Gruß,
    dimde

    1. Hi

      aber wie kann ich das anwenden, wenn ich nicht zu hundert prozent weiß, was der user angibt, sondern nur die "form" in der er es eingibt.

      also der user kann eingebn:

      123:4 hallo 1234
      123:5 hi 1299
      11:5 tag 623

      und ich möchte immer, dass die ausdrücke erkannt werden.
      Hoffe mal, ich drücke mich hier halbwegs verständlich aus :/

      Gruss
      Carl

      1. Hallo Carl,

        dimde hat's Dir doch klar aufgezeigt.

        aber wie kann ich das anwenden, wenn ich nicht zu hundert prozent weiß, was der user angibt, sondern nur die "form" in der er es eingibt.

        <cite>
        Beispiel 1. explode()-Beispiel:

        $pizza = "Teil1 Teil2 Teil3 Teil4 Teil5 Teil6";
        $pieces = explode (" ", $pizza);
        </cite>

        also der user kann eingebn:

        123:4 hallo 1234
        123:5 hi 1299
        11:5 tag 623

        $ausdruecke = explode(" ", $eingabe);
        trennt stets am Leerzeichen ...
        Und $ausdruecke ist ein Array, durch das Du durchlaufen kannst, so mit for und foreach, vielleicht auch mit while ;-)

        Gruss,

        Vinzenz

      2. Hallo,

        also der user kann eingebn:

        123:4 hallo 1234

        Also wird daraus:
          123:4
          hallo
          1234

        123:5 hi 1299

        ...daraus:
          123:5
          hi
          1299

        11:5 tag 623

        ...und daraus:
          11:5
          tag
          623

        (Die einzelne Zeile könnte man jetzt als ein einzelnes Element eines
        Arrays verstehen, oder so ähnlich...)

        Was genau hast du jetzt an der Funktion "explode" nicht verstanden,
        auf die dich dumde verlinkt hat? Genau das macht diese doch:

        "array explode ( string separator, string string [, int limit])

        Returns an array of strings, each of which is a substring of string
        formed by splitting it on boundaries formed by the string separator."

        Wenn du als folgendes schreibst:

        explode(" ", "Dies ist ein Test")

        liefert explode ein Array zurück, das aus den Elementen "Dies",
        "ist", "ein" und "Test" besteht. Im obigen Aufruf ist "Dies ist ein
        Test" der zu bearbeitende String und " " (also das Leerzeichen) das
        Trennzeichen, an dem der zu bearbeitende String "aufgeschnitten" wird.

        Jetzt klarer? Wenn nein: Fragen! Aber bitte etwas konkreter.

        Gruß
        Slyh

        --
        Es gibt nur 10 Arten von Menschen. Solche, die das Binärsystem verstehen, und solche, die es nicht verstehen.
        1. Hallo Slyh,

          Was genau hast du jetzt an der Funktion "explode" nicht verstanden,
          auf die dich dumde verlinkt hat?

          DUMde, soso - Ich hoffe, das war jetzt keine Anspielung :)
          Es heißt d_*I*_mde mit I wie Isidor, nicht U wie in DAU ;)

          Außerdem ist der Nick eine Abkürzung für "Das Ist Mir Doch Egal" - du
          müsstest doch sehr genau wissen, wie der Name entstanden ist *g*

          Gruß,
          dimde

        2. Hi

          ja jetzt wirds etwas klarer. Geb zu, ich hatte das ganze vorher nicht komplett durchdacht und zu überhastet nochmal nachgefragt.
          Aber was ich immernoch nicht verstehe:
          Ich habe beispielsweise dieses Formular:

          <form action="dokument.php" method="post">
          <textarea name="daten" cols="30" rows="10"></textarea>
          <br><input type="SUBMIT" name="send">
          </form>

          Wie füge ich dann die daten in die explode-funktion ein?

          ich habs jetzt mal testhalber so versucht.

          <?
          if($action == "send"){
          $koord = explode (" ", $angreifer);
          echo "$koord";
          }
          ?>

          aber klappen tuts leider nicht wirklich :(

          Gruss
          Carl

          1. Hallo Carl,

            <form action="dokument.php" method="post">
            <textarea name="daten" cols="30" rows="10"></textarea>
            <br><input type="SUBMIT" name="send">
            </form>

            Wie füge ich dann die daten in die explode-funktion ein?

            <?php[1]

            // prüfen, ob das Forumlar abgeschickt und Text eingegeben wurde
            // (da das Formular mittels "post" verschickt wurde, stehen die
            // Formulardaten in dem superglobalen Array $_POST[2]

            if (isset($_POST) && $_POST["daten"]) {

            // den Text der Textarea in die einzelnen Wörter aufteilen
                $words = array();
                $words = explode(" ", $_POST["daten"]);

            // den Array $words durchlaufen und die einzelnen Elemente
                // (die Wörter) ausgeben
                while (list($key, $word) = each($words)) {
                    echo "Element(Wort) Nr. ".$key.": ".$word."<br />\n";
                }

            }

            ?>

            [1] Schreibe lieber "<?php" statt "<?", dann kriegst Du keine Probleme,
            falls auf einem Server mal short_tags ausgeschaltet sind, oder Du
            XML und PHP mischst.

            [2] http://www.php.net/manual/en/language.variables.predefined.php

            Gruß,
            dimde

            1. hi

              das klappt danke.
              Jetzt hab ich aber noch ne Frage.
              Also, der User gibt jetzt sowas ein:

              153 hallo 139
              154 hi 465

              und jetzt möchte ich, dass es so in etwa ausgegeben wird:

              1: 153
                 154

              2: hallo
                 hi

              3: 139
                 465