3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function evalJS($code) { $matches = []; $code = preg_match_all('#var (.*)( |=|;)#', '\$', $code, $matches); foreach($matches[1] as $val) { $code = preg_replace('#'.$val.'#', '\$'.$val, $code); $code = preg_replace('#var \$'.$val.'#', '\$'.$val, $code); $code = preg_replace('#\$'.$val.'\.#', '\$'.$val.'->', $code); } $code = preg_replace('#.#', '::', $code); $code = preg_replace('#(\'|")\+#', '$1.', $code); $code = preg_replace('#\+(\'|")#', '.$1', $code); echo($code); eval($code); } class document { public function print($arg) { echo($arg); } } $js = <<<JS var foo = 'Hello '+'World!'; document.print(foo); JS; evalJS($js);
based on qa5KQ
Output for 7.0.0 - 7.2.0
Warning: preg_match_all() expects parameter 4 to be integer, array given in /in/KofS6 on line 5 Notice: Undefined offset: 1 in /in/KofS6 on line 6 Warning: Invalid argument supplied for foreach() in /in/KofS6 on line 6
Output for 5.4.12 - 5.6.28
Parse error: syntax error, unexpected 'print' (T_PRINT), expecting identifier (T_STRING) in /in/KofS6 on line 20
Process exited with code 255.
Output for 5.3.22 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/KofS6 on line 4
Process exited with code 255.