然后使用Json_encode传递给数据属性

时间:2016-07-21 21:43:01

标签: javascript php json

我正努力将数组设置为数据属性。我可以看到它使用下面的图像登录DOM(完全混乱):enter image description here

属性数据类别是焦点中的属性。我生成这个的PHP似乎添加=''如果转换的php数组中有空格。这是将它转换为json数组的php:

$arr = array();
foreach($cats as $cat) {
    array_push($arr, $cat->cat_name);
}

data-category="<?php echo json_encode($arr); ?>"

我错过了将其转换为适当的json结构,以便我在js中使用。

我希望得到类似的结果:

Array [ "Customer Service", "Finance", "HR", "Marketing", "Operations", "Sales", "Technology" ]

1 个答案:

答案 0 :(得分:3)

  

我生成这个的php似乎添加='

这不是PHP正在制作的内容。

您正在DOM检查器中查看它。这显示了将HTML解析为DOM然后将其序列化为HTML以供显示的结果。

如果您想查看PHP的输出,那么您需要查看查看源而不是检查元素

JSON使用"来分隔字符串。

"个字符分隔的HTML属性值将由"个字符终止。

在HTML属性值中表示"作为数据;使用&quot;

运行json_encodehtmlspecialchars的输出,然后将其输出到HTML中。

data-category="<?php echo htmlspecialchars(json_encode($arr)); ?>"