我试图将javascript数组传递给一个短代码,但它似乎已被清理/转义。例如,此字符“[”生成“`{`”。检索原始数据的函数是什么?
下面是一个短代码示例:
[shortcode jsarray="[{start:"19:30",end:"21:00",color:\'#d99694\'},{start:"20:00",end: "21:30",color:\'#d99694\'},],"]
Some text
[/shortcode]
以下是我的快捷码渲染函数:
public function render_html($atts,$content)
{
$atts = shortcode_atts(array(\'jsarray\' =>\'\'), $atts);
$jsarray=$atts[\'jsarray\'];
if(empty($jsarray))
{
return;
}
ob_start(); ?>
<div data="<?php echo base64_encode($jsarray) ?>">
<?php echo $content; ?>
</div>
<?php
return ob_get_clean();
}
编辑:以下是shortcode\\u atts函数的结果:
`{`{``start``:``19:30``, ``end``:``21:00``, ``color``:``#d99694``}, {``start``:``19:30``, ``end``:``21:00``, ``color``:``#d99694``}`}`