"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php Variable cutten

Moesli 15.04.2005 - 14:58 505 6
Posts

Moesli

goes Linux
Avatar
Registered: Sep 2002
Location: Salzburg
Posts: 1328
ich habe die variable

$a = "vorname.nachname@domain";

und als ergebniss will ich folgendes:

$c = "vorname.nachname";
$b = "domain";

howto ??
Bearbeitet von Moesli am 15.04.2005, 15:24

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
$ea = explode('@',$a);

$c = $ea[0];
$b = $ea[1];

besser wäre eine regexp, die eine mailadresse genauer validiert.

Moesli

goes Linux
Avatar
Registered: Sep 2002
Location: Salzburg
Posts: 1328
echt saubere lösung,.. vielen Dank !!! => solved

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
perlish! ;)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
list($domain,$name) = explode('@',$a);

schreibt dir übrigens die werte direkt in die Variablen, falls du das Array wirklich nicht brauchen kannst.

ps: das list() Konstrukt beginnt rechts mit der Zuweisung, dh. Array-Element 0 (der Name-Teil) ist ganz rechts, deswegen ist in meinem Beispiel die Reihenfolge auch richtig.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
nein, das wäre falsch rum. die zuweisung ist nur chronologisch verkehrt, nicht inhaltlich. das merkt man aber nur bei arrays, weil die intern eine dl list sind.

ich benutze list() nicht, weil es nur für numerische indizes funktioniert. Da benutze ich lieber beschreibendere indizes, die sind leichter wartbar und lesbarer. würde ich die inhalte eines arrays in plain variables brauchen (kommt zwar nie vor), dann kann ich leicht per extract() alle herausholen.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von mat
nein, das wäre falsch rum. die zuweisung ist nur chronologisch verkehrt, nicht inhaltlich. das merkt man aber nur bei arrays, weil die intern eine dl list sind.
hm. irgendwas stimmt nicht bei meinem sätzchen, da hast du recht. Es ist tatsächlich verkehrtrum. Aber auch wenn ich es einem Array zuweise... Vielleicht stimmt auch einfach wieder mal der Text im Manual nicht.

List() hat seine daseinsberechtigung - obwohl ich's auch nicht verwend' (ist bequemer einfach mit Arrays weiter zu coden in solchen fällen)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz