3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function evalJS($code) { $matches = []; 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); var_dump($matches); } class document { public function print($arg) { echo($arg); } } $js = <<<JS var foo = "Hello "+"World!"; document.print(foo); JS; evalJS($js);
based on QnIFX
Output for 7.0.0 - 7.2.0
var foo = "Hello "."World!"; document::print(foo);array(3) { [0]=> array(1) { [0]=> string(28) "var foo = "Hello "+"World!";" } [1]=> array(1) { [0]=> string(23) "foo = "Hello "+"World!"" } [2]=> array(1) { [0]=> string(1) ";" } }
Output for 5.4.12 - 5.6.28
Parse error: syntax error, unexpected 'print' (T_PRINT), expecting identifier (T_STRING) in /in/gtcU6 on line 20
Process exited with code 255.
Output for 5.3.22 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/gtcU6 on line 4
Process exited with code 255.