首页 >web前端 >js教程 >如何安全地将包含引号和换行符的 PHP 变量传递给 JavaScript?

如何安全地将包含引号和换行符的 PHP 变量传递给 JavaScript?

Linda Hamilton
Linda Hamilton原创
2024-12-17 18:32:15374浏览

How Can I Safely Pass PHP Variables Containing Quotes and Newlines to JavaScript?

将 PHP 变量传递给 JavaScript 变量

问题:

您需要传输 PHP 字符串包含 JavaScript 变量的引号和换行符。像直接输出PHP代码这样的传统方法无法正确处理这些特殊字符。

答案:

使用 json_encode():

<script>
  var myvar = <?= json_encode($myVarValue, JSON_UNESCAPED_UNICODE); ?>;
</script>

这个方法需要:

  • PHP 5.2.0 或更高版本
  • $myVarValue 以 UTF-8 编码

json_encode() 将 PHP 字符串转换为 JSON 表示形式同时保留 Unicode

注意事项:

  • 如果将 JSON 编码的字符串传递给 HTML 属性(例如 onclick),请确保通过 htmlspecialchars 传递它() 以避免潜在的 HTML 实体问题。

    htmlspecialchars(json_encode($string), ENT_QUOTES);

以上是如何安全地将包含引号和换行符的 PHP 变量传递给 JavaScript?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn