Message from discussion
Sting in Array zerlegen
Path: g2news1.google.com!news3.google.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: k...@rl.pflaesterer.de (Karl =?iso-8859-1?Q?Pfl=E4sterer?=)
Newsgroups: de.comp.lang.php.misc
Subject: Re: Sting in Array zerlegen
Date: Tue, 08 Mar 2011 16:08:24 +0100
Lines: 47
Message-ID: <uwgmxl5tztj.fsf@rl.pflaesterer.de>
References: <8tmq93FpufU1@mid.individual.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: individual.net yAJL18x73ooz4aazYB/v9Am0pBqbrbFTuck/xlSkgZ2GRt3es=
Cancel-Lock: sha1:Vl4pEi79pmSgt3aXIzfLzTrfNGw= sha1:QeQQ2bST9FJbWnDGnAR0U/NLR68=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (windows-nt)
Frank Kirschner <147...@celebrate.de> writes:
> Hallo,
>
> Ich möchte folgende Zeichenkette zerlegen und in ein Array schreiben
> (Jede Zeile endet mit [CR][LF])
>
> <AUTH>fail
> <VALIDTO>00.00.0000
>
> und den Array dann so auslesen:
>
> echo $arr[AUTH]; ---> Ausgabe: fail
> echo $arr[VALIDTO]; ---> Ausgabe: 00.00.0000
>
> Ich würde als erstes mit explode() als Delimiter \r\n verwenden.
> Danach würde ein
>
> echo $arr[0]; ---> <AUTH>fail ausgeben
>
> Wie mache ich dann weiter, um an oben genanntes Ziel zu kommen?
ich würde stattdessen einen regulären Ausdruck nutzen:
In $s steht dein String:
php > preg_match_all('~^<([^>]+)>(.*)~m', $s, $m, PREG_SET_ORDER);
php > print_r($m);
Array
(
[0] => Array
(
[0] => <AUTH>fail
[1] => AUTH
[2] => fail
)
[1] => Array
(
[0] => <VALIDTO>00.00.0000
[1] => VALIDTO
[2] => 00.00.0000
)
)
KP