note 92603 modified in function.eval by thiago

From: Date: Fri, 31 Jul 2009 13:09:15 +0000
Subject: note 92603 modified in function.eval by thiago
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-158961@lists.php.net to get a copy of this message
Fixed matheval function when percentage is less than 10: <?php function matheval($equation) { $equation = preg_replace("/[^0-9+\-.*\/()%]/","",$equation); // fix percentage calcul when percentage value < 10 $equation = preg_replace("/([+-])([0-9]{1})(%)/","*(1\$1.0\$2)",$equation); // calc percentage $equation = preg_replace("/([+-])([0-9]+)(%)/","*(1\$1.\$2)",$equation); // you could use str_replace on this next line // if you really, really want to fine-tune this equation $equation = preg_replace("/([0-9]+)(%)/",".\$1",$equation); if ( $equation == "" ) { $return = 0; } else { eval("\$return=" . $equation . ";" ); } return $return; } ?> --was-- Fixed matheval function when percentage is less than 10: function matheval($equation) { $equation = preg_replace("/[^0-9+\-.*\/()%]/","",$equation); // fix percentage calcul when percentage value < 10 $equation = preg_replace("/([+-])([0-9]{1})(%)/","*(1\$1.0\$2)",$equation); // calc percentage $equation = preg_replace("/([+-])([0-9]+)(%)/","*(1\$1.\$2)",$equation); // you could use str_replace on this next line // if you really, really want to fine-tune this equation $equation = preg_replace("/([0-9]+)(%)/",".\$1",$equation); if ( $equation == "" ) { $return = 0; } else { eval("\$return=" . $equation . ";" ); } return $return; } http://php.net/manual/en/function.eval.php

« previous php.notes (#158961) next »