phpbar.de logo

Mailinglisten-Archive

[php] splitten von text

[php] splitten von text

Alexander Meurer php_(at)_phpcenter.de
Tue, 12 Feb 2002 16:23:47 +0100


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