note 44859 added to function.is-numeric

From: Date: Wed, 18 Aug 2004 10:51:32 +0000
Subject: note 44859 added to function.is-numeric
Groups: php.notes 
Request: Send a blank email to php-notes+get-74871@lists.php.net to get a copy of this message
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; } ?> ---- Manual Page -- http://www.php.net/manual/en/function.is-numeric.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+44859 Delete -- http://master.php.net/manage/user-notes.php?action=delete+44859&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+44859&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#74871) next »