drexxo
Solid State Member
- Messages
- 6
- Location
- United States
For a little more advanced script kiddie, who is looking for something to tool around with.
Code:
<?php
function calc($a) {
$functions="/(\+|\-|\*|\/|\^|\%)/";
$num=explode(chr(124),preg_replace($functions,"|",$a));
$a=str_split($a);$d=0;
foreach ($a as $b => $c) {
if (preg_match($functions,$c)) {
$sign[$d]=$c;$d++;
}
}$d=0;
while ($d<=count($num)) {
$num1=iif($num3,$num3,rep($num[$d]));
$num2=rep($num[$d+1]);
$sign1=$sign[iif($num3,$d,0)];
$d++;
if (preg_match("/./",$sign1)) {
switch ($sign1) {
case "+":
$num3=$num1+$num2;
break;
case "-":
$num3=$num1-$num2;
break;
case "*":
$num3=$num1*$num2;
break;
case "/":
$num3=$num1/$num2;
break;
case "^":
$x=$num2;$num3=1;
while ($x) {
$num3*=$num1;$x--;
}
break;
case "%":
$num3=$num1%$num2;
break;
}
}else return $num3;
}return $num3;
}
function iif($if,$T,$F) {
if ($if) return $T;
else return $F;
}
function rep($num) {
if (preg_match("/.*\.(.*)/",$num,$len)&&preg_match("/[a-z]/i",$num)) {
$len=strlen(preg_replace("/\D/","",$len[1])).chr(10);
$k=str_repeat(0,3-$len);$m=str_repeat(0,6-$len);$b=str_repeat(0,9-$len);
$num=str_replace("k",$k,str_replace("m",$m,str_replace("b",$b,str_replace(".","",$num))));
}elseif (preg_match("/.*\.(.*)/",$num,$len)&&!preg_match("/[a-z]/i",$num))
$num=$num;
else
$num=str_replace("k","000",str_replace("m","000000",str_replace("b","000000000",$num)));
return $num;
}
?>