ich ein String wie folgt aus:, regex
'1': '-' '10': CustomerA; 79,00 EUR/Std '11': CustomerB; 155,00 EUR/Std '12': CustomerC; 75,00 EUR/Std '13': CustomerD; 50,00 EUR/Std '2': CustomerA; 000 EUR/Std '3': CustomerA; 000 EUR/Std '4': CustomerA; 120,00 EUR/Std '5': Customer; 75,00 EUR/Std
Bessere Sicht:
'1': '-'
'10': CustomerA; 79,00 EUR/Std
'11': CustomerB; 155,00 EUR/Std
'12': CustomerC; 75,00 EUR/Std
'13': CustomerD; 50,00 EUR/Std
'2': CustomerA; 000 EUR/Std
Und versuchen, ein Array mit diesen Daten zu erhalten:
array(
'key' => <CustomerName>; <Price> EUR/Std,
...);
Ich hatte das schon versucht, aber es funktioniert nur, wenn es Wortumschläge gibt.
$string = preg_split('[0-9+]', $string);
$pattern = "~^'(\d+)':\s+(.+)$~mx";
preg_match_all($pattern, $string, $matches);
$result = array_combine($matches[1], $matches[2]);
Können Sie mir helfen, dieses Problem zu lösen?
Was ist, wenn der Preis nicht immer 'EUR/Std' ist? – Phate01
@ Phate01 Ich habe alles in EUR (wie das Beispiel vorausgesetzt). Aber ich werde eine Variante hinzufügen. Vielen Dank. – fusion3k
Ich weiß, aber sehr oft gibt es immer einen anderen Fall, den wir vielleicht nicht kennen – Phate01