Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建包含html代码的json对象_Php_Javascript_Json_Parsing - Fatal编程技术网

Php 如何创建包含html代码的json对象

Php 如何创建包含html代码的json对象,php,javascript,json,parsing,Php,Javascript,Json,Parsing,我有一个案例,我必须通过json对象将html代码从客户端发送到服务器端,但html标记中的符号(如“,/…等)会导致一些问题,这些符号会在json对象中产生错误。我尝试了许多方法来构建json,但没有一种是正确的。我希望你能清楚地理解我的案例。 这是我的json结构的一个示例: { "html":"the html code injected dynamical here" } 正如我所说,我的主要问题是我遇到了由html符号引起的问题,我如何解决它!请给我一个明确的例子,说明如何解决

我有一个案例,我必须通过json对象将html代码从客户端发送到服务器端,但html标记中的符号(如“,/…等)会导致一些问题,这些符号会在json对象中产生错误。我尝试了许多方法来构建json,但没有一种是正确的。我希望你能清楚地理解我的案例。 这是我的json结构的一个示例:

{
   "html":"the html code injected dynamical here"
}

正如我所说,我的主要问题是我遇到了由html符号引起的问题,我如何解决它!请给我一个明确的例子,说明如何解决这个问题,并将html代码成功地分配到json对象。

也许你可以使用url编码。

也许你可以使用url编码。

你可以对html进行编码可在此处找到ng和解码:

您只需要html.encode和html.decode函数,这样您就可以执行以下操作

function html_encode(string){
    return string.replace(/./g,function(chr, index){
            return chr.match(/[\w\d]/) ? chr : "&#"+chr.charCodeAt(0)+";" ;
    });
},
function html_decode(string){
    return string.replace(/&#[0-9]+;/g,function(text,index){
            return String.fromCharCode(text.match(/[0-9]+/)[0]);
    });
}
这样你就能做到

var html = html_encode(myhtml);
{"html": html}
使用html_decode()对值进行编码和恢复


注:Sry,我没有测试过html编码和解码功能,但在谷歌很容易找到。你可以对html进行编码。一些html编码和解码可以在这里找到:

您只需要html.encode和html.decode函数,这样您就可以执行以下操作

function html_encode(string){
    return string.replace(/./g,function(chr, index){
            return chr.match(/[\w\d]/) ? chr : "&#"+chr.charCodeAt(0)+";" ;
    });
},
function html_decode(string){
    return string.replace(/&#[0-9]+;/g,function(text,index){
            return String.fromCharCode(text.match(/[0-9]+/)[0]);
    });
}
这样你就能做到

var html = html_encode(myhtml);
{"html": html}
使用html_decode()对值进行编码和恢复


注:Sry,我没有测试html_编码和解码功能,但在谷歌很容易找到一些。

不确定我是否误读了这个问题,但要将json从服务器传递到客户端,请使用
json_encode()

这应该对你有用,并且照顾好所有逃跑的人

<?php
header('Content-type: application/json');
$json = array(
    'html'    =>    '<h1 style="color:#0F0">Hello World!</h1>'
);
echo json_encode($json);
exit;

不确定我是否误读了这个问题,但要将json从服务器传递到客户端,请使用
json\u encode()

这应该对你有用,并且照顾好所有逃跑的人

<?php
header('Content-type: application/json');
$json = array(
    'html'    =>    '<h1 style="color:#0F0">Hello World!</h1>'
);
echo json_encode($json);
exit;

我不确定您是如何构建JSON对象的,但是如果您使用的是
JSON_encode()
JSON_decode()
您不应该对HTML字符有任何问题,它们会被正确转义。

我不确定您是如何构建JSON对象的,但是如果您使用的是
JSON_encode()
json\u decode()
您不应该对HTML字符有任何问题,它们将被正确转义。

如果您使用jQuery,此js库可能会有所帮助

在发送请求之前,请在javascript中执行以下操作:

var thing = {plugin: 'jquery-json', other: "blah-blah"};
var encoded = $.JSON.encode(thing);
然后将请求发送到php后,执行以下操作以解码:

var thing = json_decode($_POST['thing']);

如果您正在使用jQuery,您可以阅读更多关于这个的内容,这个js库可能会有所帮助

在发送请求之前,请在javascript中执行以下操作:

var thing = {plugin: 'jquery-json', other: "blah-blah"};
var encoded = $.JSON.encode(thing);
然后将请求发送到php后,执行以下操作以解码:

var thing = json_decode($_POST['thing']);

你可以阅读更多关于这个

如何!你能给我一个这样做的例子吗:)。我告诉你,我给你一个简单的结构只是为了简单,但我的实际结构包含的不仅仅是html代码。我尝试了编码来传递这些字符,但对我没有帮助。我想替换这些字符通过在传递到json时添加要传递的特殊字符。此外,我们经常使用此函数并动态创建html。如何!您能给我一个这样做的示例:)。请接受我的回答,我给您一个简单的结构只是为了简单,但我的实际结构包含的不仅仅是html代码。我尝试了encoding支付传递这些字符的费用,但这对我没有帮助,我通过添加传递给json时要传递的特殊字符来替换这些字符。此外,我们经常使用此函数,并动态创建html。如果您在另一个字符集中工作,则必须使用类似于
iconv
的内容来执行某些字符集转换如果您在另一个字符集中工作,则必须使用类似于
iconv
的东西来执行一些字符集转换