我有一个php数组$演示文稿,我试图将它分配给JavasScript变量。当我使用json_encode时,我得到了这个值:
{"image":"\/ara\/web\/uploads\/images\/slide\/34.jpeg","sound":"\/ara\/web\/uploads\/images\/slide\/34.mpga","content":"sentence"}
你看到后退和正斜杠吗?
当我尝试将变量分配给javascript时,这会变得最糟糕:我明白了:
"books":[{"image":"\/ara\/web\/uploads\/images\/slide\/32.jpeg"
这是代码:
PHP:
$presentation_slide = json_encode($presentation_slides)
的javascript:
<script>
var presentation = {{ presentation_slides }}
</script>
我正在使用sumfony2
答案 0 :(得分:1)
也许你应该使用JSON_UNESCAPED_SLASHES选项:
http://php.net/manual/en/function.json-encode.php
$presentation = json_encode($presentation_slides, JSON_UNESCAPED_SLASHES);
答案 1 :(得分:1)
json_encoding函数有许多可以传递给它的标志,这使得函数能够解析特定的字符集。以下调用应该解决您遇到的问题
json_encode($presentation_slides, JSON_UNESCAPED_SLASHES | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP );
答案 2 :(得分:0)
$presentation = json_encode($presentation_slides, JSON_UNESCAPED_SLASHES);