我正努力将数组设置为数据属性。我可以看到它使用下面的图像登录DOM(完全混乱):
属性数据类别是焦点中的属性。我生成这个的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" ]
答案 0 :(得分:3)
我生成这个的php似乎添加='
这不是PHP正在制作的内容。
您正在DOM检查器中查看它。这显示了将HTML解析为DOM然后将其序列化为HTML以供显示的结果。
如果您想查看PHP的输出,那么您需要查看查看源而不是检查元素。
JSON使用"
来分隔字符串。
由"
个字符分隔的HTML属性值将由"
个字符终止。
在HTML属性值中表示"
作为数据;使用"
。
运行json_encode
到htmlspecialchars
的输出,然后将其输出到HTML中。
data-category="<?php echo htmlspecialchars(json_encode($arr)); ?>"