phpbar.de logo

Mailinglisten-Archive

[php] ereg Problem

[php] ereg Problem

Franz Graf Franz.Graf_(at)_FutureByte.net
Mon, 31 Jan 2000 18:45:51 +0100


Shit, das war zu schnell gesendet :(

On 31 Jan 00, at 16:59, Reusser Lukas wrote:
> Ich möchte pruefen, ob in der Variable am Anfang und am Schluss eine
> Zahl steht und ob irgendwo dazwischen ein Punkt (.) oder ein Komma (,)
> steht. Das Manual gibt leider nicht sehr viel Auskunft darüber. Das
> erste "ereg" funktioniert. Zusammen mit dem Zweiten läuft es aber nicht
> mehr. Ich bekomme immer die Meldung "Fehlerhafte Eingabe". [0-9]* [0-9]+
> [0-9]{n} Auch die Bedeutung dieser Ausdruecke hier ist mir noch nicht
> ganz klar

$test1 = "456.54,56";
$test2 = "456.54,";
$test3 = "21.23.34";
$test4 = ".45,56";
$test5 = "45,456,456";

echo  preg_match("/^(\d+)(\.\d+)*(,\d+)?$/",$test3,$x);

Das geht in den Fällen 1,3
wenn du statt dem * ein ? machst, kann nur EIN Punkt vorkommen  
(legt mcih nicht drauf fest, ich bin kein regex experte ;)

[0-9]*	=  0 oder mehrere zahlen von 0-9
[0-9]+	= 1 oder mehrere '' '' '' 
[0-9]{n}	= n oder mehrere '' ''
könnte aber auch GENAU n zahlen von 0-9 heißen, das weiß ich 
jetzt nicht genau.

Lies Dir dazu unbedingt
http://www.php.net/manual/pcre.pattern.modifiers.php3
http://www.php.net/manual/pcre.pattern.syntax.php3 und
http://www.phpbuilder.com/columns/dario19990616.php3
durch.

Sorry nochmal für das vorschnelle, unvollständige Vorabposting ;)

Franz
-- 
[ Franz Graf - Webdesign                 ]
[ FutureByte - Net Development Equipment ]
[ http://www.futurebyte.net              ]


php::bar PHP Wiki   -   Listenarchive