Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit explode und Leerzeichen



minisalami
03-07-2005, 19:43
Hallo an alle,
ich probiere aus einer Email einen Namen auszufiltern.
mit preg_match("/Name: (.*)/",$zeile,$arname) das klappt auch gut, ich erhalte den Vor- und Nachnamen.
Nun möchte ich den Namen weiter aufsplitten in Vornamen und Nachnamen.
Ich versuche es mit explode:
$arname = explode(" ", $name);
doch das Leerzeichen wird nicht erkannt. Bei anderen Trennzeichen z.B. ein Unterstrich funktioniert exploder sehr gut,
nur nicht mit dem Leerzeichen. Woran liegt das kann mir das jemand erklären?

Als Anhang mal mein php-code

Nochmal nen Zusatz:
wenn ich $name einen String mit einem Leerzeichen zuweise:
$name="karl Heinz"; und dann explode darauf anwende funktioniert es,
nur nicht wenn ein Leerzeichen in der Textdatei ist!

Vielen Dank schonmal
cu minisalami

michael.sprick
04-07-2005, 13:22
also bei mir funktionierte Dein code...
Wie sieht $arname denn nach dem explode aus?

bischi
04-07-2005, 13:44
Versuch mal ' ' anstatt " "

MfG Bischi

BlueJay
04-07-2005, 14:21
Aller guten Dinge sind 3 :)
Ist der Originaltext urlencoded? (' ' = '+' )

minisalami
04-07-2005, 15:01
danke an euch!
also $arname[0] und $arname[1] sind leer es wird per echo nichts ausgegeben.
Der Tipp von Bischi hat leider auch nichts gebracht!


Hier noch Infos über mein System:
Slackware 10.1
PHP Version 5.0.4
Apache/2.0.54

Als Anhang nun beide Dateien vielleicht liegt es auch irgendwie an der Textdatei.

cu minisalami

michael.sprick
04-07-2005, 15:59
Da stehn ja auch einige Leerzeichen zuviel in der Textdatei - $arname ist also viieeel größer



var_dump($arname);


hätte Dich drauf gebracht, was schief läuft...

Ändere Deinen Regex mal ab:



if (preg_match("/Name:\s*(.*)/",$zeile,$arname))

minisalami
04-07-2005, 16:17
Hallo und danke nochmal an alle,
habe es nun auch rasugefunden, es lag an den Leerzeichen vor dem Namen ich habe sie nun mit ltrim() entfernt und dann
funktioniert auch explode()

Danke michael.sprick dein Vorschlag ist noch besser, spart ne Zeile Code

cu minisalami