regular expressions

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

  • regular expressions

    Hey Leutz,

    wie krieg ich aus folgendem Text:

    RECIPIENTS[]= asdfasdfdsa fdsafdsaf dsafdsafdsafd safdsafdsaf dsafdsafdsa fdsafdsafd safdsafds SENDER=me@localhost.de
    die RECIPIENTS vom SENDER getrennt? Mein bisheriger Code:

    PHP-Code:
    preg_match("/[\w\[\]]+=.*/",$props,$matches); 
    $matches gibt im Moment den ganzen String zurück, also, ein Feld mit dem ganzen Inhalt.

    Vielen Dank für Tips.
    Gruß
    Michael

  • #2
    warum nicht ein pisseliges explode auf SENDER?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Hi,

      danke, aber ich wüßte nicht, nach was ich exploden sollte? In der Zukunft könnten noch mehr Variablen in diesem String stehen. Das Ergebnis sollte sein:

      Array([0] => RECIPIENTS=kldjkl lkdjflk kldjlk [1] => SENDER=me@localhost.com)
      Bis denn
      Gruß
      Michael

      Kommentar


      • #4
        explode("\n", $text);

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

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

        Kommentar


        • #5
          Hi,

          das wär ´ne gute Idee, wenn da ein Zeilenumbruch wäre, das ist nur hier zufällig an diese Stelle umbrochen. Das ist ein langer Text.

          Danke trotzdem, noch ´ne Idee?
          Gruß
          Michael

          PS: Das hat irgendwas mit greedy zu tun. Aber alle Tests führen zum gleichen Ergebn is...

          Kommentar


          • #6
            was wird denn als Trennzeichen benutzt? Woher weißt du wo das Schlüsselwort anfängt?
            Du brauchst doch nur das, wonach du trennen würdest, in den Regex packen, da du uns das aber noch nicht erklärt hast, kann dir dabei keiner helfen

            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
              $pattern = '#([^=\s]+=)#s';
              PHP-Code:
              $array preg_split($pattern$TXT, -1PREG_SPLIT_DELIM_CAPTURE);

              echo 
              '<pre>'.print_r($arraytrue).'</pre>'
              Slava
              bituniverse.com

              Kommentar


              • #8
                Hi,

                das leuchtet ein, das Trennzeichen sollte jetzt sein: einige Großbuchstaben (evtl. der Unterstrich) gefolgt von einem Istgleich (=):

                PHP-Code:
                preg_match("/[A-Z_]+?=.*?/",$props,$matches); 
                Geht aber leider auch nicht, kommt wieder der ganze String zurück. Wuhäää, regexp bring mich mal um.

                Gruß
                Michael

                @Slava: Merci, hab ich probiert, da kommt gar nichts zurück. Geht auch nicht.
                Zuletzt geändert von Lengen1971; 10.07.2006, 15:44.

                Kommentar


                • #9
                  [REGEX]

                  Hi,

                  wer lesen kann.... :

                  PHP-Code:
                  preg_match_all("/[A-Z_]+=.*?/",$props,$matches); 
                  Kloar, ein eindeutiges Trennzeichen (Großbuchstaben und =) und natürlich preg_match_all


                  Danke an alle
                  Gruß
                  Michael

                  Kommentar

                  Lädt...
                  X