3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function calculate_string( $mathString ) { $mathString = trim($mathString); // trim white spaces $mathString = preg_replace ('#[^0-9\+-\*\/\(\) ]#', '', $mathString); // remove any non-numbers chars; exception for math operators $compute = create_function("", "return (" . $mathString . ");" ); return 0 + $compute(); } $string = " (1 + 1) * (2 + 2)"; echo calculate_string($string); // outputs 8
based on kpXOE
Output for 7.2.0
Warning: preg_replace(): Compilation failed: range out of order in character class at offset 9 in /in/34J44 on line 4 Deprecated: Function create_function() is deprecated in /in/34J44 on line 5 Parse error: syntax error, unexpected ')' in /in/34J44(5) : runtime-created function on line 1
Process exited with code 255.
Output for 7.0.0 - 7.1.10
Warning: preg_replace(): Compilation failed: range out of order in character class at offset 9 in /in/34J44 on line 4 Parse error: syntax error, unexpected ')' in /in/34J44(5) : runtime-created function on line 1
Process exited with code 255.
Output for 5.3.18 - 5.6.28
Warning: preg_replace(): Compilation failed: range out of order in character class at offset 9 in /in/34J44 on line 4 Parse error: syntax error, unexpected ')' in /in/34J44(5) : runtime-created function on line 1 Fatal error: Function name must be a string in /in/34J44 on line 6
Process exited with code 255.