5

我正在为 wordpress 开发一个元框类,并专门实现 3.5 中引入的媒体上传。要在元框类和媒体上传器之间传递选项,我喜欢使用 json。我拥有的基本数据结构如下($data_ar)。

Array
(
    [uploader_title] => Upload or choose a video file
    [uploader_button] => Choose
    [allowed_mimes] => Array
        (
            [0] => application/x-shockwave-flash
            [1] => application/pdf
        )

    [show_icon] => 1
    [show_url] => 1
    [show_file_title] => 1
)

问题是当做一个简单的

echo '<h1 id="stumped" data-stumped="'.json_encode($data_ar).'">test</h1>';

导致包含 json 格式错误的数据属性。问题是数组中存在带有空格的任何字符串。用双引号中的空格包裹任何 sting 值都无济于事。

通过设置数据属性jQuery.data()可以完美地工作,但我不能使用它,因为我将这些表单元素作为转发器,并且双 jQuery 调用会破坏转发器。

说起难倒。关于我应该在哪里进行排序的任何指示?

谢谢。

4

1 回答 1

7

用于htmlentities对 json 进行编码。它将编码所有"破坏属性。

echo '<h1 id="stumped" data-stumped="'.htmlentities(json_encode($data_ar)).'">test</h1>';
于 2013-04-26T03:53:51.813 回答