【发布时间】:2014-08-22 18:00:07
【问题描述】:
我有一个隐藏字段,用于存储从数据库中检索到的值,如下所示:
echo '<input type="hidden" value="'.$str.'">';
问题是如果 $str 包含带有双引号的文本,它肯定会导致浏览器相应地显示问题。但是在 PHP 中使用转义字符 \ 是徒劳的。我也试过这个:
$str = str_replace('"',"'",$str);
然后我必须在客户端将每个单引号替换为双引号(做相反的操作):
str = str.replace(/'/g,'"');
虽然它对我来说很好,但它仍然没有消除错误。例如,如果数据库中的原始字符串包含单引号 (') ,它也会在客户端被双引号 (") 替换,这是出乎意料的。那么,是否有任何替代解决方案来解决这个问题,或者真的有浏览器的转义字符可以放在隐藏字段的双引号中吗?
【问题讨论】:
-
"变为&quot;。htmlspecialchars() -
那么我现在该怎么办@Brad
-
谢谢你,布拉德……我已经明白了……再次感谢!!
-
你也可以
base64_encode()它。它与 HTML 编码的东西有相同的缺点,因为您可能需要在某些时候再次对其进行解码,但它应该可以正常工作。
标签: javascript php html