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

标签 javascript php html

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

echo '<input type="hidden" value="'.$str.'">';

问题是,如果$str包含双引号文本,肯定会导致浏览器显示出现问题。但在 PHP 中使用转义字符\是徒劳的。我也尝试过这个:

$str = str_replace('"',"'",$str);

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

str = str.replace(/'/g,'"');

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

最佳答案

您可以使用 htmlentities 来转义值

http://php.net/manual/en/function.htmlentities.php

例如

echo '<input type="hidden" value="'.htmlentities($str).'">';

关于javascript - 除了 PHP 或 JavaScript 之外,浏览器还有转义字符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24522745/

相关文章:

php - 区分 PHP 错误和应用程序错误

php - 避开 laravel 的公用文件夹,直接在 web 服务器中打开根目录

php如何在选择下拉列表中显示类别然后显示子类别?

Javascript:构造函数中的随机 Sprite 选择

html - 拉维尔 5 CSS : link only the image not the full width of the column

javascript - 根据用户输入选择 JavaScript 变量和数组元素

javascript - 无法使用 tableExport 将表导出到 Excel

php - 是否有开源的情感分析脚本?

javascript - django下拉项超链接在单击时不起作用

javascript - 如何将 promise 链接在一起