3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '(2 * 10 + 5) Euro and (10 + 2) cents'; $regex = '#\((([^()]+|(?R))*)\)#'; if (preg_match_all($regex, $string ,$matches)) { $eqs = $matches[1]; foreach($eqs as $frm) { $frm_eval = eval("return $frm;"); $string = str_replace('(' . $frm . ')', $frm_eval, $string); } echo $string; } else { //no parenthesis echo $string; }

preferences:
35.88 ms | 402 KiB | 5 Q