striplash表现得很奇怪还是正常的?

时间:2012-08-16 02:19:10

标签: php sql wordpress

我有一个包含

的数据库var
5/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>

2 个答案:

答案 0 :(得分:1)

它只是与HTML标记冲突

<input value="'.stripslashes($currentselected['something']).'"/>

将导致

<input value="5/8" Cabinet Grade Plywood" />

看看那些“,它在那里被破坏了,你需要逃避那些”

修复此问题在php中使用urlencode函数

<input value="'.urlencode(stripslashes($currentselected['something'])).'"/>

或htmlspecialchars函数,它应该用

替换引号
&quot;

答案 1 :(得分:0)

您可以在输出中使用一些htmlspecialchars"在HTML中具有特殊含义,在这种情况下实际上会被视为value的{​​{1}}属性的结束。因此,您应该将其转义(inputhtmlspecialchars翻译为")。