我有一个包含textarea的表单。
当用户输入如下代码时:
chr(rand(97,122))
chr(rand(97,122))
chr(rand(98,122))
chr(rand(99,122))
rand()
中的数字可以是任意数字 - 并验证表格。
我想将此文本转换为php函数rand()
和chr()
的结果。
我尝试使用eval()
,但对我没用。
答案 0 :(得分:1)
您可以使用preg_replace_callback()
代替evil()来执行此操作。只需匹配函数调用中的数字并返回随机字符,例如
$output = preg_replace_callback("/\s*chr\(rand\((\d+),(\d+)\)\)\s*/", function($m){
return chr(rand($m[1], $m[2]));
}, $input);
echo $output;