【发布时间】:2012-02-08 14:11:41
【问题描述】:
在 PHP 中,我使用 json_encode() 在 HTML5 数据属性中回显数组。
由于 JSON 需要 - 并且 json_encode() 生成 - 由双引号封装的值。因此,我用单引号将我的数据属性括起来,例如:
<article data-tags='["html5","jquery","php","test's"]'>
如您所见,最后一个标签(test)包含一个单引号,并且使用 json_encode() 没有选项会导致解析问题。
所以我将json_encode() 与JSON_HEX_APOS 参数一起使用,并且解析很好,因为我的单引号是编码的,但我想知道:这样做有缺点吗?
【问题讨论】:
-
你的意思是它工作的意义是不利的?
-
我的意思是“十六进制编码可能产生的意外副作用”的含义的缺点
-
你没有展示任何代码如何输出,所以答案只能是一个很好的猜测。
-
我的问题比具体更笼统:我想知道,一般来说,处理十六进制编码涉及什么。
-
@Jérémy 它应该起作用,就像,我不能不由自主地想到一个不起作用的情况,但这确实是错误的做。 HTML 转义任何可能破坏 HTML 语法的值,就这么简单。
标签: php json html custom-data-attribute