ani*_*son 4 php forms textarea escaping
好的,所以我遇到了一个简单的textarea问题.我正在使用一种隐藏页面,使用JSON轻松编码一些数据.但是,我的所有文本输入都会在某处自动转义,我不知道在哪里.htmlentities()脚本启动时,我的所有$ _POST变量都会自动运行,如下所示:
$ani->i->post = $this->clean($_POST, true);
function clean($values, $unset = false) {
if (is_array($values)) {
foreach ($values as $key => $value) {
$newkey = strtolower($key);
$return[$newkey] = $this->clean($value);
unset($values[$key]);
}
return $return;
}
return htmlentities($values);
}
Run Code Online (Sandbox Code Playgroud)
\'当我将值重新放入textarea时,我会继续获取所有单引号.
我找不到任何可以添加斜线的地方,我不记得它是一个功能,当你从textarea提交时它们是自动添加的,如果是这样,为什么它们不会返回到单个什么时候回到textarea?我是否真的需要运行变量stripslashes()才能使它们恢复原始状态?
编辑:我的'test.php'文件如下:
<h1>To Be Encoded:</h1>
<form action="/test" method="post">
<textarea name="encode" rows="20" cols="50"><?= html_entity_decode($ani->i->post['encode']) ?></textarea>
<input type="submit" name="submit" value="Encode It!" />
</form>
<h1>Encoded By JSON:</h1>
<textarea name="encoded" rows="20" cols="50"><?= json_encode(html_entity_decode($ani->i->post['encode'])) ?></textarea>
<?php
die();
?>
Run Code Online (Sandbox Code Playgroud)
PS die()就在那里与我的框架兼容.