Bu metin içinde geçen (3+(5*2)) nin 13 olduğunu bulan bir sınıftır.
<?phpclass Matematiklestir{function degistir($metin){$Mat = preg_match_all("/\(+[0-9+\s+\-.*\/()%]+\)/", $metin, $mMat);for ($i=0;$i<$Mat; $i++){$formul = str_replace(" ", "", $mMat[0][$i]);$formul = preg_replace("/([+-])([0-9]+)(%)/", "*(1\$1.\$2)", $formul);$formul = preg_replace("/([0-9]+)(%)/",".\$1",$formul);eval("\$sonuc=" . $formul . ";");$poz = strpos($metin, $mMat[0][$i]);$metin = substr_replace($metin, $sonuc, $poz, strlen($mMat[0][$i]));}return $metin;}}$yuzde = 10;$zincir = " [[40+15]*2] + $yuzde% u (((40+15)*2)+ $yuzde%) eder";$ciktilar = new Matematiklestir;$cikti = $ciktilar->degistir($zincir);echo $cikti;?>
Çıktı
[[40+15]*2] + 10% u 121 eder