PHP json_解码未从变量获取代码
我对PHP中内置的PHP json_解码未从变量获取代码,php,json,Php,Json,我对PHP中内置的json\u decode()函数有问题。我有以下json文件: { "var1":"data1", "var2":"data2", "var3":"data3", "snippet":"<?php\n\necho \"hello world\";" } 后来我只是简单地用它来获取所有数据: $str_data = file_get_contents("json_files/".$new.".json"); $data = json_de
json\u decode()
函数有问题。我有以下json文件:
{
"var1":"data1",
"var2":"data2",
"var3":"data3",
"snippet":"<?php\n\necho \"hello world\";"
}
后来我只是简单地用它来获取所有数据:
$str_data = file_get_contents("json_files/".$new.".json");
$data = json_decode($str_data,true);
echo $data['snippet'];
这对var1/var2/var2很好,但对代码不起作用。如果希望从字符串执行PHP脚本,可以使用 但是,请记住,如果不正确清理数据,函数可能是危险的 您当前的代码不起作用,因为它是一个字符串,PHP解释器会将其作为脚本标记,但出于安全原因,会将其注释掉,因此它只显示在html页面的源代码中 按以下注释进行编辑:
$json = '{
"var1":"data1",
"var2":"data2",
"var3":"data3",
"snippet":"<?php\n\necho \"hello world\";"
}';
echo htmlentities(json_decode($json)->snippet);
echo htmlentities(json_decode($json, true)['snippet']);
echo str_replace('<', '<', json_decode($json, true)['snippet']);
// Choose your method.. all works.
$json=”{
“var1”:“data1”,
“var2”:“data2”,
“var3”:“data3”,
“snippet”:“如果希望从字符串执行PHP脚本,可以使用
但是,请记住,如果不正确清理数据,函数可能是危险的
您当前的代码不起作用,因为它是一个字符串,PHP解释器会将其作为脚本标记,但出于安全原因,会将其注释掉,因此它只显示在html页面的源代码中
按以下注释进行编辑:
$json = '{
"var1":"data1",
"var2":"data2",
"var3":"data3",
"snippet":"<?php\n\necho \"hello world\";"
}';
echo htmlentities(json_decode($json)->snippet);
echo htmlentities(json_decode($json, true)['snippet']);
echo str_replace('<', '<', json_decode($json, true)['snippet']);
// Choose your method.. all works.
$json=”{
“var1”:“data1”,
“var2”:“data2”,
“var3”:“data3”,
“代码片段”:“测试以下内容:
<?php
$str_data = '
{
"var1":"data1",
"var2":"data2",
"var3":"data3",
"snippet":"<?php\n\necho \"hello world\";"
}';
$data = json_decode($str_data,true);
echo $data['snippet'];
测试以下各项:
<?php
$str_data = '
{
"var1":"data1",
"var2":"data2",
"var3":"data3",
"snippet":"<?php\n\necho \"hello world\";"
}';
$data = json_decode($str_data,true);
echo $data['snippet'];
使用var\u dump查看数据是否正确
$str_data=file_get_contents(“json_files/”$new..json”);
var_dump($str_data);
使用var_dump查看数据是否正确
$str_data=file_get_contents(“json_files/”$new..json”);
变量转储($str\u数据)
它到底是如何工作的?意思是:输出是什么,预期的输出是什么?@franzgleichman预期的输出应该是这样的:@Repox我没有看到@Marnix Bouhuis无法复制,我看到的是本地源代码中的标记。可能是一些异国的服务器配置?另外:var_dump的输出是什么($data);它到底是如何工作的?意思是:输出是什么,预期的输出是什么?@franzgleichman预期的输出应该是这样的:@Repox我没有看到@Marnix Bouhuis无法复制,我看到的是本地源代码中的标记。可能是一些奇特的服务器配置?另外:var_dump的输出是什么($data);然后你应该使用htmlentites()
,下次你应该清楚你的要求。然后你应该使用htmlentites()
,下次你应该清楚你的要求。