<body>
<div> <?= $_POST['msg'] ?> </div>
<form id="frm" method="post">
<input type="hidden" name='msg' value='{"field0": "Im a string", "field1": 84, "field3": "so am I"}' />
<input type="submit" value="test" />
</form>
</body>
提交表单时,div 标签之间会显示以下字符串。
{\"field0\": \"Im a string\", \"field1\": 84, \"field3\": \"so am I\"}
为什么要添加转义字符? 它们是由 PHP 服务器还是 Web 客户端添加的? 我能做些什么来防止这种情况发生吗?
有人已经提到了 PHP 函数 stripslashes。我现在正在使用它,但我想一起摆脱斜杠。
最佳答案
检查你的PHP配置是否有magic_quotes_gpc
已激活,在这种情况下,PHP 服务器会自动将斜杠添加到 GET/POST/cookie 值...
关于php - 为什么要将转义字符添加到隐藏输入的值中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1038980/