就像主题所说的,我有一些$_POST数据需要去掉所有斜杠。但是,它会留下一个错误,当表单上有错误时,它会将post数据打印回用户,这样他们就不必重新输入数据。当他们再次提交页面时,每次提交错误时,斜杠的数量都会显著增加。我的代码很简单,它使用stripslashes($_POST['first']),然后发回错误。我试图也str_replace摆脱最后的\,但这不起作用。有什么想法吗?
代码编辑
$first = stripslashes($_POST[f_name]);
$first = str_replace('\\' , '', $_POST[f_name]);发布于 2012-01-13 08:05:16
stripslashes()只删除第一个连续的反斜杠(如果它们是连续的),因为反斜杠是用来转义反斜杠的。
您应该使用str_replace("\\", "", $_POST['first']);
更新如果您要删除的是前斜杠,请使用str_replace("/", "", $_POST['first']);
发布于 2012-01-13 09:22:44
您是否启用了magic_quotes?带斜杠将只删除用于转义字符的\。因此,如果您想在文本中使用\,则需要使用两个:对其进行转义。在这种情况下,两个\将转换为一个\,并带有条带斜杠。在进行任何处理之前执行print_r($_POST),以查看POST中的实际内容。
发布于 2012-01-13 09:32:44
Disabling magic quotes应该可以解决您的问题。
https://stackoverflow.com/questions/8844130
复制相似问题