我有一个包含
的数据库var5/8\" Cabinet Grade Plywood
由WP或SQL添加\以逃避“。
当检索此var时,我在用于编辑该表的字段的值中使用stripslashes()(以便下次有人想要编辑该字段时他/她将看到该输入中已有的内容)和它想要出现的实际网站。
奇怪的是......
在现场,它从5/8“橱柜级胶合板切割到仅5/8并且在它假设出现的网站中,它通常显示没有斜线或任何异常。
这就是我剥离该字段的方式:
$somevar = '<input value="'.stripslashes($currentselected['something']).'" class="niceclass" name="something" type="text" />';
这就是我在页面上显示的方式:
<td><span style="font-size: larger;"><?php echo stripslashes($goods['verygood']); ?></span></td>
答案 0 :(得分:1)
它只是与HTML标记冲突
<input value="'.stripslashes($currentselected['something']).'"/>
将导致
<input value="5/8" Cabinet Grade Plywood" />
看看那些“,它在那里被破坏了,你需要逃避那些”
修复此问题在php中使用urlencode函数
<input value="'.urlencode(stripslashes($currentselected['something'])).'"/>
或htmlspecialchars函数,它应该用
替换引号"
答案 1 :(得分:0)
您可以在输出中使用一些htmlspecialchars
。 "
在HTML中具有特殊含义,在这种情况下实际上会被视为value
的{{1}}属性的结束。因此,您应该将其转义(input
将htmlspecialchars
翻译为"
)。