Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
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