将Json字符串放在html标记中的最佳方法是什么?

时间:2012-05-20 17:36:41

标签: php javascript html json html5

将json字符串(编码的php数组)放入html标记的最佳方法是什么?

<?php
$content = array(key1=>'value 1', key2=>'value 2');
?>
<span class="someclass" data="<?php echo(json_encode($content)); ?>">Stuff Here</span>

这不是有效的,因为当它被编码时,它将包含破坏html的语音标记。

如果我使用php函数htmlentities这就足够了,还是会有一些字符会破坏它?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用base64编码,可以使用您希望使用的每种语言(如javascript)轻松解码:

<span class="someclass" data="<?php echo base64_encode (json_encode ($content)); ?>">Stuff Here</span>

它只使用a-z,A-Z和0-9。

答案 1 :(得分:1)

不要将其放入数据属性中。生成像

这样的javascript变量更容易
<script>
    var data = <?php echo json_encode() ?>
</script>