javascript - json_encode 转义特殊字符

标签 javascript php jquery arrays

我想将一个 php 数组传递给一个 jQuery 函数。
我尝试像这样将数组作为 json_encode 发送:

<button onclick='callFunction(<? echo json_encode($myArray); ?>)'></button>

我的 json_encode 数组的结果是:

{"Date":"2018-01-26 12:55:00","Details":"FORLI IT"}

一切正常。

但是如果我有这样的数组(带有')

{"Date":"2018-01-26 12:55:00","Details":"FORLI' IT"}

我的功能不再起作用 - 我的控制台将显示:

SyntaxError: Unexpected EOF

我该如何解决这个问题?

最佳答案

我建议您处理任何转到 html 的方法是:

<button onclick='callFunction(<? echo htmlentities(json_encode($myArray),ENT_QUOTES); ?>)'></button>

http://php.net/manual/en/function.htmlentities.php 检查所有可用的标志

这个使用标志 ENT_QUOTES 因为默认行为是只编码双引号。使用 ENT_QUOTES 也会对单引号进行编码。

关于javascript - json_encode 转义特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637478/

相关文章:

javascript - 如何正确克隆 JavaScript 对象?

javascript - 从 React 组件返回 RSS

php - uwamp apache 错误 - 无法终止进程

php json_encode 为数组返回空白

jquery - 日期时间选择器未格式化

javascript - JavaScript 运行时离开页面

javascript - 尽管配置了正确的 CORS header ,但 301 响应为 'Cross-Origin Request Blocked'

php - 如何在 Symfony3 中初始化 JMS 序列化程序?

javascript - JQUERY:按类访问元素表兄弟

Javascript if this OR this statement - 忽略第二个条件