[英]Using a Json_encode to then be passed to a data attribute
我正在努力将数组设置为数据属性。 我可以看到它正在使用下面的图像(完整的混乱)登录DOM:
属性数据类别是重点关注的类别。 如果转换后的php数组中有空格,则产生此错误的php似乎会添加=''。 这是将其转换为json数组的php:
$arr = array();
foreach($cats as $cat) {
array_push($arr, $cat->cat_name);
}
data-category="<?php echo json_encode($arr); ?>"
我缺少将其转换为适合在js中使用的json结构的功能是什么。
我正在寻找类似的结果:
Array [ "Customer Service", "Finance", "HR", "Marketing", "Operations", "Sales", "Technology" ]
我的PHP正在产生这个似乎添加='
那不是PHP产生的。
您正在DOM检查器中查看它。 这显示了将HTML解析为DOM,然后将其序列化回HTML进行显示的结果。
如果要查看PHP的输出,则需要查看View Source而不是Inspect Element 。
JSON使用"
来分隔字符串。
由分隔的HTML属性值"
的字符将被终止"
字符。
要将"
表示为HTML属性值中的数据,请使用"
。
通过htmlspecialchars
运行json_encode
的输出,然后将其输出到HTML中。
data-category="<?php echo htmlspecialchars(json_encode($arr)); ?>"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.