dav133
2009-06-11, 11:14:32
Hallo,
Ich habe einen Input in folgendem Format in einer Datei als Text vorliegen, auf dessen Formatierung ich keinen Einfluss habe:
tag3="01.06.09|25456;4548|17635;3010|17479;3010|17709;3009|17555;3006|16789;2977|17337 ;2995"
tag2="31.05.09|28171;4672|19398;3009|19247;3010|19405;3003|19274;3010|18796;3009|18858 ;302"
tag1="30.05.09|30163;4632|20720;3009|20600;3004|20756;3009|20636;3002|19277;3007|20060 ;3007"
/edit: Das ganze kann beliebig so weitergehen, der String kann also auch aus 25 Wertepaaren pro Zeile bestehen, sodass ich keine "immer passende" Regex ansetzen kann. Siehe dazu meinen zweiten Post.
Nun würde ich das Ganze zur Weiterverarbeitung mit PHP gerne in ein "lesbares" Format überführen, welches
1) das Datum und
2) jeden zweiten Wert (also den hinter dem Semikolon)
enthält, ich habe mal fett markiert, was ich benötige:
tag3="01.06.09|25456;4548|17635;3010|17479;3010|17709;3009|17555;3006|16789;2977|17337 ;2995"
tag2="31.05.09|28171;4672|19398;3009|19247;3010|19405;3003|19274;3010|18796;3009|18858 ;302"
tag1="30.05.09|30163;4632|20720;3009|20600;3004|20756;3009|20636;3002|19277;3007|20060 ;3007"
Im Optimalfall hätte ich also gern ein Array, welches etwa folgende Struktur hat:
Array
(
[0] => Array
(
[0] => 01.06.09
[1] => 4548
[2] => 3010
[3] => 3010
[4] => 3009
[5] => 3006
[6] => 2977
[7] => 2955
)
[1] => Array
(
[0] => 31.05.09
[1] => 4672
[2] => 3009
[3] => 3010
[4] => 3003
[5] => 3010
[6] => 3009
[7] => 302
)
[2] => Array
(
[0] => 30.05.09
[1] => 4632
[2] => 3009
[3] => 3004
[4] => 3009
[5] => 3002
[6] => 3007
[7] => 3007
)
)
Die Regex sollte nach Möglichkeit recht "performant" sein, da es sich um größere Datenmengen handelt. Wäre für Hilfe sehr dankbar ;).
lg
Ich habe einen Input in folgendem Format in einer Datei als Text vorliegen, auf dessen Formatierung ich keinen Einfluss habe:
tag3="01.06.09|25456;4548|17635;3010|17479;3010|17709;3009|17555;3006|16789;2977|17337 ;2995"
tag2="31.05.09|28171;4672|19398;3009|19247;3010|19405;3003|19274;3010|18796;3009|18858 ;302"
tag1="30.05.09|30163;4632|20720;3009|20600;3004|20756;3009|20636;3002|19277;3007|20060 ;3007"
/edit: Das ganze kann beliebig so weitergehen, der String kann also auch aus 25 Wertepaaren pro Zeile bestehen, sodass ich keine "immer passende" Regex ansetzen kann. Siehe dazu meinen zweiten Post.
Nun würde ich das Ganze zur Weiterverarbeitung mit PHP gerne in ein "lesbares" Format überführen, welches
1) das Datum und
2) jeden zweiten Wert (also den hinter dem Semikolon)
enthält, ich habe mal fett markiert, was ich benötige:
tag3="01.06.09|25456;4548|17635;3010|17479;3010|17709;3009|17555;3006|16789;2977|17337 ;2995"
tag2="31.05.09|28171;4672|19398;3009|19247;3010|19405;3003|19274;3010|18796;3009|18858 ;302"
tag1="30.05.09|30163;4632|20720;3009|20600;3004|20756;3009|20636;3002|19277;3007|20060 ;3007"
Im Optimalfall hätte ich also gern ein Array, welches etwa folgende Struktur hat:
Array
(
[0] => Array
(
[0] => 01.06.09
[1] => 4548
[2] => 3010
[3] => 3010
[4] => 3009
[5] => 3006
[6] => 2977
[7] => 2955
)
[1] => Array
(
[0] => 31.05.09
[1] => 4672
[2] => 3009
[3] => 3010
[4] => 3003
[5] => 3010
[6] => 3009
[7] => 302
)
[2] => Array
(
[0] => 30.05.09
[1] => 4632
[2] => 3009
[3] => 3004
[4] => 3009
[5] => 3002
[6] => 3007
[7] => 3007
)
)
Die Regex sollte nach Möglichkeit recht "performant" sein, da es sich um größere Datenmengen handelt. Wäre für Hilfe sehr dankbar ;).
lg