Hoffnung auf Hilfe

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

  • Hoffnung auf Hilfe

    Hallo ich bin ein wenig am Verzweifeln da ich so eine einfache Sache nicht hin bekomme und hoffe auf euren Rat..

    Also ich lese durch ei n Script ein Email in eine Datenbank ein der Body der Email steht dann in einem Datanbankfeld Body...

    Also Zeilenweise steht so etwas darin:

    Username: user1
    Usertyp: Administrator
    Useraktion: Update News
    Passwort: x2x2x2
    Reply: email@email.de

    usw.

    Wenn ich nun mit einer while schleife diese Zeilen auslesen und spliten ist das kein Problem mit
    ..
    $result = mysql_query("SELECT * FROM email",$db);
    while ($daten = mysql_fetch_array($result)) {
    $daten1 = $daten[xp_body_text];
    $sachen = explode ("\n", $daten1);
    $len = count($sachen);
    for ($i=0; $i<$len; $i++)
    list($fusername,$username)= split (":", $sachen[$i]);
    list($fusertyp,$usertyp)= split (":", $sachen[$i]);
    list($fuseraktion,$useraktion)= split (":", $sachen[$i]);

    usw. aber nur wenn keine Leerzeilen vorhanden sind hat jetzt der User ausversehen am Anfang eine Leerzeile oder vieleicht auch mitdrin, geht natürlich alles in die Hose..

    Also wie schaffe ich das das wirklich erst ab

    Username: user1

    eingelesen und gesplittet wird und bei

    Reply: email@email.de

    aufgehört wird ?? Denn wenn zb. am Anfang 2 Leerzeilen stehen
    sind die Variablen
    $username und $usertyp leer und im String $useraktion steht dann plötzlich der Username drin..


    Ich habe schon alles im Netz durchforstet aber nicht gefunden was mein Problem löst... Ich hoffe auf eure Hilfe schon mal vielen Dank....

    Gruß

    Ralf

  • #2
    setz die regex mal vernünftig ein!!!

    Code:
    '/^([a-ZA-Z ]+):([a-zA-Z ]+)$/s'
    sollte so in etwa gehen (ungetestet ausm Kopf) einfach mal im Tutorial angucken.

    Kommentar


    • #3
      Habe ich schon versucht

      Habe ich schon versucht und bekomme es in der while schleife nicht hin..

      da $sachen[$i] mit der Zählerei Knadenlos ist.

      Erste Zeile ist für die Weile Schleife nun mal
      $sachen[0]
      und für die zweite
      $sachen[1]

      usw..

      Vieleicht sehe ich vor laute Wald die Bäume nicht mehr aber ich bekomms einfach nicht hin.

      Aber Danke für so ne rasante Antwort...

      Gruß

      Ralf

      Kommentar


      • #4
        na, am zähler sollte es nicht scheitern:

        ob du $i = 0 oder $i = 1 machst ist doch total egal!!!

        Kommentar


        • #5
          Ich bin zu blöd

          lese wie ein wahnsinniger und bekomme es einfach nicht hin

          habs schon mit einen zusätzlichen Zähler und

          if (preg_match("/user/", $sachen[$zaehler]))

          versucht klappt nur so weit wie keine Leerzeile merh mittendrin ist oder klappt auch nicht wenn mal zusätzlich was am Anfang steht..


          sdf

          Username: user1
          Usertyp: Administrator
          Useraktion: Update News
          Passwort: x2x2x2
          Reply: email@email.de


          Ich hoffe wirklich mir kann mal einer mit einem Beispiel auf die Sprünge helfen...

          Gruß

          Ralf

          Kommentar

          Lädt...
          X