除了PHP或JavaScript之外,浏览器还有转义字符吗?

除了PHP或JavaScript之外,浏览器还有转义字符吗?,javascript,php,html,Javascript,Php,Html,我有一个隐藏字段,存储从数据库检索到的值,如下所示: echo '<input type="hidden" value="'.$str.'">'; echo'; 问题是,如果$str包含双引号的文本,则肯定会导致浏览器相应地显示问题。但是在PHP中使用转义字符\是徒劳的。我也试过这个: $str=str_replace(“”、“”、$str) 然后,我必须将客户端中的每个单引号替换为双引号(执行相反的操作): str=str.replace(/“/g,”) 虽然它对我来说很好,但

我有一个隐藏字段,存储从数据库检索到的值,如下所示:

echo '<input type="hidden" value="'.$str.'">';
echo';
问题是,如果$str包含双引号的文本,则肯定会导致浏览器相应地显示问题。但是在PHP中使用转义字符\是徒劳的。我也试过这个:

$str=str_replace(“”、“”、$str)

然后,我必须将客户端中的每个单引号替换为双引号(执行相反的操作):

str=str.replace(/“/g,”)


虽然它对我来说很好,但它仍然不能消除bug。例如,如果数据库中的原始字符串包含单引号('),它也将被双引号(“”)替换在客户端中,这是意外的。那么,对于这个问题是否有其他解决方案,或者浏览器是否真的有任何转义字符可以放在隐藏字段的双引号中?

您可以使用htmlentities转义该值

e、 g


echo';

变成了
htmlspecialchars()
那么我现在该怎么办@Bradthank you brad…我已经得到了…再次感谢!!你也可以。它与HTML编码的东西有同样的缺点,在某个时候你可能需要再次解码,但它应该工作得很好。