Eine Zwickmühle
bearbeitet von
Hallo Nico R.,
ich habe das jetzt mal in onlinephp.io probiert.
- verwende bitte {1,3} statt {0,3}. Oder willst Du unbedingt ",50" erkennen können? Wenn ich {0,3} verwende, erhalte ich eine Menge "Nulltreffer".
- lass die äußeren Klammern weg, die sind unnötig und erzeugen lediglich ein zweites Subarray im Ergebnis, das mit dem ersten Subarray identisch ist.
~~~php
$a = "Hallo 321 und 123.45 oder 123,45 Welt 12,- für 12.- Euro";
$res = [];
preg_match_all("/\d{1,3}([,.](\d{2}|-))?/", $a, $res);
var_dump($res);
~~~
liefert mir in $res[0] alle Zahlen.
_Rolf_
--
sumpsi - posui - obstruxi