在 JSON 编码的 HTML5 数据属性中转义/编码单引号

2023-12-24

在 PHP 中,我使用json_encode()回显 HTML5 数据属性中的数组。 正如 JSON 所要求的 - 并且json_encode()生成 - 用双引号括起来的值。因此,我用单引号将我的数据属性括起来,例如:

<article data-tags='["html5","jquery","php","test's"]'>

如您所见,最后一个标签(测试的)包含单引号,并使用json_encode()没有选项会导致解析问题。

所以我用json_encode()JSON_HEX_APOS参数,并且解析很好,因为我的单引号已编码,但我想知道:这样做有什么缺点吗?


您需要将 HTML 转义数据回显为 HTML:

printf('<article data-tags="%s">',
    htmlspecialchars(json_encode(array('html5', ...)), ENT_QUOTES, 'UTF-8'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JSON 编码的 HTML5 数据属性中转义/编码单引号 的相关文章