2011-12-27 127 views
3

在文本框中显示动态文本我要显示在HTML表单(文本字段)是来自DB的文本,所以我用下面的代码逃逸单引号和双引号,而使用PHP

.... 
..... 
<input type="text" name="txtqname" id="txtqname" value="<?=$myvar ?>"></input> 
.... 
..... 

这里MYVAR $是变量,其值来自表单数据库,可能包含单引号或双引号。正因为如此,我的文本没有正确显示在文本字段中,因为我想要的。我试图用单个替换双引号作为

.... 
..... 
<input type='text' name='txtqname' id='txtqname' value='<?=$myvar ?>'></input> 
.... 
..... 

但仍然没有得到正确的文本。请帮帮我。

在此先感谢...

+0

'htmlspecialchars'是你的朋友 – k102 2011-12-27 09:35:25

回答

7

简单,所有你需要做的是:

<input type="text" name="txtqname" id="txtqname" value="<?= htmlspecialchars($myvar) ?>"></input> 
+0

'htmlspecialchars'是一个有用的功能,感谢分享。 +1为您的答案 – 2015-04-20 09:56:01

0

您应该使用合适的addslashes()和用于格式化数据的stripslashes()。 确保每个数据在插入数据库之前都已正确格式化。也可以尝试这个mysql_real_escape_string()

0

可以使用ヶ辆函数ENT_QUOTES,

例如:ヶ辆($ MYVAR,ENT_QUOTES);

ENT_QUOTES将转换双引号和单引号。