我怎么能改写这个PHP代码:如何改写depricated的preg_replace与preg_replace_callback - 图案/ E
$str1 = "/.*/e";
$str2 = "eval('phpinfo();')";
preg_replace($str1, $str2,'');
随着preg_replace_callback功能?
我测试:
preg_replace_callback($str1 , 'callback', '');
// the callback function
function callback ($matches) {
return $str2;
}
但错误是:
警告(!):preg_replace_callback():修改/ E不能使用 与更换回调
我该如何解决这个错误?
你仍然需要从你的正则表达式中删除结束'e'在'$ str1'。 –
你只是想''phpinfo()'成一个字符串? – chris85
我不确定我关注。 'preg_replace_callback'不需要eval标志。只需在回调函数中输入想要执行的代码即可。 –