mf_2
2007-09-25, 12:47:57
Hallo,
Ich habe folgenden Befehl:
$result_ungreedy = preg_match_all("/^[0-9]{8}+;+([a-zA-ZäöüÄÖÜ\-\s].*)+;+([a-zA-ZäöüÄÖÜ\-\s].*)+;+(Nord|Ost|West|Süd)+;
+([a-zA-Z0-9]+)+;+(m|w)$/U","00000001;LOL;test;Süd;shsdofjdohduzghuvhidv;m",$test,PREG_PATTERN_ORDER);
Hier möchte ich für $test folgende Ausgabe erhalten:
Array
(
[0] => Array
(
[0] => 00000001;LOL;test;Süd;shsdofjdohduzghuvhidv;m
)
[1] => Array
(
[0] => LOL
)
[2] => Array
(
[0] => test
)
[3] => Array
(
[0] => Süd
)
[4] => Array
(
[0] => shsdofjdohduzghuvhidv
)
[5] => Array
(
[0] => m
)
)
Ich erhalte aber immer nur folgendes (das letzte Zeichen der Strings LOL, test und shsdofjdohduzghuvhidv:
Array
(
[0] => Array
(
[0] => 00000001;LOL;test;Süd;shsdofjdohduzghuvhidv;m
)
[1] => Array
(
[0] => L
)
[2] => Array
(
[0] => t
)
[3] => Array
(
[0] => Süd
)
[4] => Array
(
[0] => v
)
[5] => Array
(
[0] => m
)
)
Was mache ich falsch?
Und dann noch eine Kleinigkeit:
Wenn ich z.B. im ersten Feld (also vor dem ersten Semikolon) einen Buchstaben drin habe oder ungleich 8 Ziffern, dann schmiert mir die Funktion komplett ab. Kann ich irgendwie sagen, dass preg_match_all zum nächsten Semikolon gehen soll und dann ganz normal weitermachen soll?
Danke schonmal,
mf_2
Ich habe folgenden Befehl:
$result_ungreedy = preg_match_all("/^[0-9]{8}+;+([a-zA-ZäöüÄÖÜ\-\s].*)+;+([a-zA-ZäöüÄÖÜ\-\s].*)+;+(Nord|Ost|West|Süd)+;
+([a-zA-Z0-9]+)+;+(m|w)$/U","00000001;LOL;test;Süd;shsdofjdohduzghuvhidv;m",$test,PREG_PATTERN_ORDER);
Hier möchte ich für $test folgende Ausgabe erhalten:
Array
(
[0] => Array
(
[0] => 00000001;LOL;test;Süd;shsdofjdohduzghuvhidv;m
)
[1] => Array
(
[0] => LOL
)
[2] => Array
(
[0] => test
)
[3] => Array
(
[0] => Süd
)
[4] => Array
(
[0] => shsdofjdohduzghuvhidv
)
[5] => Array
(
[0] => m
)
)
Ich erhalte aber immer nur folgendes (das letzte Zeichen der Strings LOL, test und shsdofjdohduzghuvhidv:
Array
(
[0] => Array
(
[0] => 00000001;LOL;test;Süd;shsdofjdohduzghuvhidv;m
)
[1] => Array
(
[0] => L
)
[2] => Array
(
[0] => t
)
[3] => Array
(
[0] => Süd
)
[4] => Array
(
[0] => v
)
[5] => Array
(
[0] => m
)
)
Was mache ich falsch?
Und dann noch eine Kleinigkeit:
Wenn ich z.B. im ersten Feld (also vor dem ersten Semikolon) einen Buchstaben drin habe oder ungleich 8 Ziffern, dann schmiert mir die Funktion komplett ab. Kann ich irgendwie sagen, dass preg_match_all zum nächsten Semikolon gehen soll und dann ganz normal weitermachen soll?
Danke schonmal,
mf_2