<?php
function test() {echo "THIS SHOULD NOT BE SEEN!!\n";}
function ryat($a) {var_dump($a);}
$str = "', test(), '\0";
echo "\npreg_replace()\n";
var_dump(preg_replace('/^(.*)$/e', "ryat('\\1')", $str));
//var_dump(preg_replace_callback('/^(.*)$/', "ryat", $str));
preg_replace()
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /in/Je12Z on line 9
NULL
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.38
preg_replace()
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /in/Je12Z on line 9
string(14) "', test(), '\0"
string(0) ""
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/Je12Z on line 10
Process exited with code 255.
Output for 4.3.9
preg_replace()
Parse error: parse error, unexpected $ in /in/Je12Z(9) : regexp code on line 1
Fatal error: Failed evaluating code:
ryat('\', test(), \'\ in /in/Je12Z on line 9
Process exited with code 255.