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