проблема в том что формула находится в тексте и текст и формула меняются... но формула в тексте только 1на
например так:
PHP |
$x=2; $s='сегодня $x-17*3+74 мальчиков прыгало на батуте'; echo preg_replace("/ ( \$\w*||\d* )( [\+\-\*\/]* ( \$\w*||\d* ) )* /e", eval("return round(\\0);"), $s); |
что-то я кажысь намудрил с формулой регулярного...
получаем
PHP |
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in W:\home\to.my\www\engine.php(24) : eval()'d code on line 1 0с0е0г0о0д0н0я0 0$0x00000000 0м0а0л0ь0ч0и0к0о0в0 0п0р0ы0г0 |