Mailinglisten-Archive |
Hallo Markus, > ich möchte diesen text verarbeiten (am ende der mail angefügt) > der aufbau des textes sind 10 nachrichten (blöcke) die jewas anfachen > mir "nummer". Inbox Message und mit einer leerzeile enden. > ok nun mein problem : woher weiss ich das ein neuer block angefangen > hat.. ? zuerst dachte ich an explode mit "leerzeile" als teiler, aber > wie man zwischen msg 7 und 8 sehen kann, kann eine nachricht auch > "leerzeichen enthalten" hmm da gibbet doch bestimmt was, oder ? wie wär's damit (für den Anfang): <?php # erst mal den Haufen zeilenweise in ein Array zerlegen $lines = explode ("\n", $all_messages); # hier stehen dann die Messages drin $messages = array (); # aktuelle Message ist noch leer $curmsg = ''; # jetzt alle Zeilen durchtickern while (list ($key, $line) = each ($lines)) { # Wenn man auf die erste Zeile einer neuen Message trifft, # dann die alte ins neue Array schreiben und die aktuelle # Message wieder auf '' (oder auch $line) setzen if (strpos ($line, "Inbox Message (read)") > 0) { if (strlen ($curmsg) > 0): $messages[] = $curmsg; $curmsg = ''; endif; } if strpos # sonst einfach Zeilen anhängen # hier kannst Du natürlich auch noch weiter aufsplitten... else { $curmsg .= $line; } # else } # while ?> Ciao Alex
php::bar PHP Wiki - Listenarchive