通过JSON发送HTML代码

时间:2011-02-21 10:02:28

标签: php jquery mysql html json

我有一个生成HTML内容的php脚本。有没有办法通过JSON将该HTML内容从PHP脚本发送回我的网页?

7 个答案:

答案 0 :(得分:27)

是的,您可以使用json_encode获取HTML字符串并在必要时将其转义。

请注意,在JSON中,顶级项必须是一个数组或对象 (这不再是真的),它不能只是一个字符串。因此,您需要创建一个对象并使HTML字符串成为对象的属性(可能是唯一的一个),因此生成的JSON看起来像:

{"html": "<p>I'm the markup</p>"}

答案 1 :(得分:2)

只是为了拓展@ T.J。克劳德的回答。

json_encode适用于简单的html字符串,但根据我的经验,json_encode经常会被混淆的(或者很难正确转义)与PHP混合的更复杂的嵌套html。如果您处于这个位置,需要考虑的两个选项是:首先使用[base64_encode][1] / decode(相当多的性能命中)来编码/解码标记,或者(并且可能最好)更多选择你通过json传递的内容,并在客户端生成必要​​的标记。

答案 2 :(得分:2)

喜欢这个

首先将所有HTML内容放入数组,然后执行json_encode

$html_content="<p>hello this is sample text";
$json_array=array(

'content'=>50,
'html_content'=>$html_content
);
echo json_encode($json_array);

答案 3 :(得分:2)

所有字符串数据必须采用UTF-8编码。

$out = array(
   'render' => utf8_encode($renderOutput), 
   'text' => utf8_encode($textOutput)
);

$out = json_encode($out);
die($out);

答案 4 :(得分:1)

在PHP中:

$data = "<html>....";
exit(json_encode($data));

然后你应该使用AJAX来检索数据并用它做你想做的事情。我建议使用JQuery:http://api.jquery.com/jQuery.getJSON/

答案 5 :(得分:1)

您可以将其作为字符串发送,为什么不呢。但是你可能有点想念JSON,因为据我所知,关键是只发送所需的数据并将它们包装到客户端的HTML中。

答案 6 :(得分:0)

所有这些答案对我都无效。

但是这个做到了:

select regexp_replace('AA_BB_CC_EEFfjdkaljfkal', '^(.*(EEE|EEF|EEG)).*$', '\1');

 regexp_replace
----------------
 AA_BB_CC_EEF
(1 row)

感谢this answer