phpbar.de logo

Mailinglisten-Archive

[php] (Komma-)Zahl aus String

[php] (Komma-)Zahl aus String

Seong-Min Kang kang at respice.de
Die Apr 24 17:38:13 CEST 2007


Hi,

Yannik Hampe schrieb:
> Es ist mir ein Rätsel, wie dieser Code klappen kann, da str_replace den
> replacten String zurückgibt, aber du ihn nirgends speicherst ^^.

xD

Zu deinen Beispielen: soweit ich es verstanden habe, können auch mehrere
(Dezimal-)Zahlen in einem String vorkommen.

> $num=(float)preg_replace('/^\D*/','',str_replace(Array('.',','),Array('','.'),$txt));

dann löst das leider nicht das Problem ;)

> preg_match('/\d+(?:\\.\\d+)*(?:,\\d+)?/',$txt,$matches);
> $num =(float)str_replace(Array('.',','),Array('','.'),$matches[0]);

auch nicht^^

> preg_match_all('/[0-9.]+/',
> str_replace(Array('.',','),Array('','.'),$txt),$matches,PREG_SET_ORDER);

alle Matches in einem Array

> preg_match_all("|((\d{0,3})*(\.?\d{1,3})*(\,?\d{1,2})?)\s*(€)|i",$txt,$forderung);
> $num =(float)$forderung[0][0];

auch^^

Dass preg_match_all() die langsamste Funktion ist, ist klar. Aber IMHO
löst nur preg_match_all das beschriebene Problem.

Grüße Seong

php::bar PHP Wiki   -   Listenarchive