- preg_replace: documentation ( source)
<?php
function evalJS($code)
{
$code = preg_replace('#var #', '\$', $code);
$code = preg_replace('#.#', '->', $code);
$code = preg_replace('#(\'|")\+#', '$1.', $code);
$code = preg_replace('#\+(\'|")#', '.$1', $code);
eval($code);
}
class document
{
public function print($arg)
{
echo($arg);
}
}
$js = <<<JS
var foo = 'Hello '+'World!';
document.print(foo);
JS;
evalJS($js);