我有以下字符串(取自用户)的PHP“数组”格式。
array(
array('age', '30', '>'),
array(
array('city', 'New Delhi'),
array('city', 'New York')
)
);
我不想在不使用eval的情况下将此字符串转换为PHP数组(因为我想避免其安全风险)。这类似于做json_decode。但是,在这种情况下,语法是PHP。这可以快速/简单的方式吗?
答案 0 :(得分:2)
你可以试试这个,但在很多情况下显然会失败
$s = "array(
array('age', '30', '>'),
array(
array('city', 'New Delhi'),
array('city', 'New York')
)
);
";
$rep = trim(str_replace(array('array(', ')', "\r", "\n", ' ', "'"), array('[', ']', '', '', '', '"'), $s), ';');
var_dump(json_decode($rep));
var_dump($rep);