使用PHP函数更改文本

时间:2016-03-13 16:44:44

标签: php

我有一个包含textarea的表单。

当用户输入如下代码时:

chr(rand(97,122))
chr(rand(97,122))
chr(rand(98,122))
chr(rand(99,122)) 

rand()中的数字可以是任意数字 - 并验证表格。

我想将此文本转换为php函数rand()chr()的结果。

我尝试使用eval(),但对我没用。

1 个答案:

答案 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;