2014-01-10 75 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>' 

当你解码,你会得到你的背部片段