2014-07-01 77 views
0

我有一個PHP數組$演示文稿,我試圖將它分配給JavasScript變量。當我使用json_encode我得到這個值:php數組使用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

是您使用的代碼來解釋'{{presentation_slides}}'成有用的東西?不管它是什麼,它都是HTML編碼你的JSON。 (至於斜槓,它們不應該是一個問題 - JS不介意它們,它將'\ /'解釋爲只是'/'。) – cHao

+1

這裏是代碼:在控制器中:return $ this- > render('AUIBookaBundle:Book:show.html.twig',array('presentation_slides'=> $ this-> preparePresentation($ id)))); int twig template:

1

的json_encoding功能有許多標誌,你可以傳遞給它,這使該函數解析特定的字符集。以下調用應該解決的問題,您有

json_encode($presentation_slides, JSON_UNESCAPED_SLASHES | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);

0
$presentation = json_encode($presentation_slides, JSON_UNESCAPED_SLASHES);