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



## suedi (16. Dezember 2003)

Hallo Freunde

wieder einmal ein "nettes" Problem:

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

eineZeile davon zb:

Herr&nbsp;Marco&nbsp;Altherr&nbsp;Speziell

oder diese hier

Alexander Schmidt&nbsp;Rudolf

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

ich hatte die Zeilen zuerst so eingelesen


```
(list ($vorname, $nachname, $besonderes) = split ('&nbsp;', $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


----------



## suedi (16. Dezember 2003)

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


----------



## Fabian H (16. Dezember 2003)

Ich versteh nicht ganz, was du willst!

Erstmal find ich List nicht so toll.

Dann kannst du es ja mal so versuchen:

```
$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.


----------



## suedi (16. Dezember 2003)

```
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


----------

