2014-01-10 77 views
1

我想從PHP返回一些代碼片段到jquery。一切工作正常,但是當我嘗試使用<body><html>標籤返回的HTML然後我得到我的輸出javascript代碼(原始代碼)json_encode()不能返回HTML

這是我的代碼:

$snippetData['snippetId'][] = $snippetId; 
$snippetData['title'][] = $title; 
$snippetData['description'][] = $description; 
$snippetData['snippet'][] = $code; 
echo json_encode($snippetData); 

編輯:

爲了更清楚,這是我保存這個數組中:

snippedId = 5 (integer value) 
title = 'some title' (string value) 
description 'some description' (string value) 
snippet = '<html> <body> <title>some title </title> </body> </html>' (string value) 
+1

你能告訴我們什麼該腳本回聲?你在哪裏以及如何使用回顯值?我看到這段代碼沒有錯。 –

+0

這是有效的JSON,而不僅僅是*真正* HTML你想解析? – adeneo

+0

您的示例'$ snippetData'在哪裏? – tenub

回答

4

試試這個:

<?php echo json_encode($snippetData, JSON_HEX_QUOT | JSON_HEX_TAG); 

Source

+0

這個轉義html,但是當我嘗試在jquery中解碼它時,我得到了這個(這個奇怪的代碼是在n正式應該是頭標籤):http://pastebin.com/05K1yx3w – Alen

1

似乎東西是錯誤的「字符。嘗試轉義他們或base64編碼的HTML在json,

獲取數據後,您可以解碼它。

即你必須:中

JzxodG1sPiA8Ym9keT4gPHRpdGxlPnNvbWUgdGl0bGUgPC90aXRsZT4gPC9ib2R5PiA8L2h0bWw+Jw== 

代替

'<html> <body> <title>some title </title> </body> </html>' 

當你解碼,你會得到你的背部片段