note 44859 deleted from function.is-numeric by aidan

From: Date: Wed, 18 Aug 2004 11:05:05 +0000
Subject: note 44859 deleted from function.is-numeric by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-74874@lists.php.net to get a copy of this message
Note Submitter: ---- Heres a shorter version of the fat thumb example given earlier. <?php function numpass_filter($userString) { $number = eregi_replace("[^0-9.]", "", $userString); // remove non number parts $number_parts=explode(".", $number, 3); // split value by . and limit it to 3 parts (discard 3rd) // reassemble the two parts and pad the decimal so we get .00 or .50 return $number_parts[0] . "." . str_pad($number_parts[1], 2, "0", STR_PAD_LEFT); } ?> and heres a complete text to number function for you:- <?php function db_text_to_number($value, $allow_decimals=TRUE, $allow_exponents=FALSE) { // remove unwanted characters from text to allow it to be put into a database as a number without errors // remove anything thats NOT related to a standard number $value=ereg_replace("[^0-9/./+E/-]", "", $value); // remove non number characters $value=ereg_replace("^[^0-9/-]+([0-9])", "\\1", $value); // leading characters that are not - or 0-9 $value=ereg_replace("([/.])([^/.]*)([/.])(.*)$", "\\1\\2", $value); //remove . beyond first $value=ereg_replace("([E])([^E]*)([E])(.*)$", "\\1\\2", $value); //remove E beyond first $value=ereg_replace("([/+])([^/+]*)([/+])(.*)$", "\\1\\2", $value); //remove + beyond first $value=ereg_replace("([/-])([^/-]*)([/-])([^/-]*)([/-])(.*)$", "\\1\\2\\3\\4", $value); //remove - beyond second if(!ereg("E/-", $value)) { $value=ereg_replace("E/-([^/-]*)([/-])(.*)$", "E-\\1", $value); //remove - beyond first } //remove exponent values eg 343E+34 34E-34 if(!$allow_exponents) { $value=ereg_replace("E.*$", "", $value); //remove from E } // remove trailing decimals to make this an Integer if(!$allow_decimals) { $value=ereg_replace("[/.].*$", "", $value); } if( (empty($value)) || ($value=="-") ) { return 0; } return $value; } ?>

« previous php.notes (#74874) next »