将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
这就足够了,还是会有一些字符会破坏它?
感谢。
答案 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>