【发布时间】:2017-04-21 08:51:34
【问题描述】:
我正在为 wordpress 使用名为 King composer 的页面构建器,我正在尝试构建一些自定义功能,就像预期的那样。
我的问题是,内置背景颜色选择器是 base64 编码背景属性,所以我需要对其进行解码 - 但首先我需要解码“my-css”json,以便我可以访问不同的属性。
这是我从建造者那里得到的回报。
array (
'_id' => '69391',
'image' => '294,9,16',
'gallery-text' => 'Dette er nærmest et galleri',
'my-css' => '{
`kc-css`:{
`any`:{
`typography`{`color|`:`#ffffff`},
`background`{`background|`:`longBase64StringHere`},
`box`:{`margin|`:`100px inherit inherit inherit`}
}
}
}',
)
到目前为止我已经尝试过:
$decodedBackground = base64_decode($atts['my-css']);
返回为空
然后我尝试了:
$decodedJson = json_decode($atts['my-css']);
返回:null
还尝试了一些其他严重错误的方法
我不太明白,我可以很好地访问其他属性,因为它只是数组的一部分,但 CSS 部分,我无法理解。我认为我需要更深入地研究 - 但我无法让它发挥作用。
现在卡住了大约 1.5 小时,所以任何帮助或指点将不胜感激
/----- 编辑 -----/
这就是我之后尝试检查解码的 json 的方式 - 可能很重要。
$decodedJson = json_decode($atts['my-css'], true);
echo '<pre>' . var_export($decodedJson, true) . '</pre>';
【问题讨论】:
-
这也将返回 null - 在写我的问题时尝试过。
-
对不起my-css下的内容不是有效的json..请确认
-
$atts['my-css']的值不使用标准编码。它不是 JSON,我在您发布的数据中看不到任何使用 base64 编码的内容。 -
有没有改变编码的方法,或者访问 my-css 中单个值的另一种方法?
标签: php arrays json wordpress decode