Zeile (String) rückwärts einlesen und in array ausgeben

suedi

Mitglied
Hallo Freunde

wieder einmal ein "nettes" Problem:

Ich habe hier eine Textdatei liegen, darin sind mehrere Kunden drinnen,

eineZeile davon zb:

Herr Marco Altherr Speziell

oder diese hier

Alexander Schmidt Rudolf

Wie ihr seht sind die Zeilen ungleich und haben verschiedene Eigenschaften....

ich hatte die Zeilen zuerst so eingelesen

PHP:
(list ($vorname, $nachname, $besonderes) = split (' ', $val));
               echo $val."<br/>\n";

mit echo wurde das ganze bei mir ausgegeben, außerdem ist in $val die ganze oben genannte Zeile drin. Nun das Problem ist, das bei einigen Leuten die Anrede da ist, bei einigen nicht.... Genauso beim ende ist manchmal das wort "speziell"(nur dieses, es kann nichts anderes dort stehen), am anfang kann auch frau, dr. etc da stehen.

Ich will nun das ganze von hinten einlesen(von vorne gehts ja nicht), und dann die einzelnen werte in mehrere arrays speichern und wiedergeben , nur wie? Keine Ahnung...aber ihr wisst es sicher:-)

danke
euer suedi
 
oh jetzt sehe ich gerade, dass & n b s p ; zwischen den einzelnen wörtern nicht hier im forum angezeigt werden, ich hoffe ihr versteht was ich meine, die fehlen wir, denkt es euch einfach hin
 
Ich versteh nicht ganz, was du willst!

Erstmal find ich List nicht so toll.

Dann kannst du es ja mal so versuchen:
PHP:
$sZeile = "Herr Hans Maier Speziell";

switch (count(explode(" ", $sZeile))) {
case 3:
    //Drei Wörter
    break;
case 4:
    //Vier Wörter
    break;
case 5:
    //Fünf Wörter
    break;
default:
    //Alles andere
    break;
}

Ansonsten bitte ich dich, deine Frage etwas genauer zu formulieren.
 
PHP:
if(strstr($val,"Speziell"))
              {
                 $besonderes = "Speziell";
                 $val = str_replace("&nbsp;Speziell", "", $val);
              }



              $strrposNachname = strrpos($val,"&nbsp;");
              $nachname = substr($val,$strrposNachname+6);
              $vorname = str_replace("&nbsp;", " ", substr($val,0,$strrposNachname));

so wärs gegangen....habs noch hinbekommen, trotzdem danke
 
Zurück