seth: ereg

Beitrag lesen

gudn tach Bernd!

Also ich habe ein Textfeld in dem z.B. stehen kann:
"5 Bruttomieten"
"1.045,67"
"875,00"

ist das komma also schon ein hinreichendes merkmal dafuer, dass da ein zahlenwert drinsteht? oder koennte auch sowas wie "3,4 bruttomieten" drinstehen?

falls das komma hinreichend ist, brauchst du nicht mal regulaere ausdruecke verwenden, sondern bist mit strpos() oder strstr() besser bedient.
(auf http://de2.php.net/manual/en/function.preg-match.php steht: "Tip: Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster.")

das ganze koennte also z.b. so aussehen:
$EURO=(strpos($myValue,',')===false)?"":"EUR";
(mehr zu der ?: - syntax: http://de2.php.net/manual/en/language.expressions.php)

falls das komma allein nicht hinreichend ist, aber z.b. /\d,\d\d$/ (also ziffer, komma, ziffer, ziffer, end_of_string), dann sind regulaere ausdruecke komfortabler. an dieser stelle ein hinweis von http://de2.php.net/manual/en/function.ereg.php zu ereg():
"Note: preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg()."

noch eine anmerkung zu deinem urspruenglichen regexp:
([0-9]{1})
klammern sind hier nicht noetig, also:
[0-9]{1}
das wiederum ist gleichbedeutend mit
[0-9]
und das laesst sich kuerzer schreiben als
/d
.

prost
seth