我通常这样做是为了对要通过 AJAX 请求获取的简单字符串进行编码。
$str = '<img src="someinage.png" />';
echo json_encode(array('status'=>'OK',$str));
输出:
{"status":"OK","html":"<img src="someinage.png" />"}
看到双引号,我怎样才能避免这个问题?
我通常这样做是为了对要通过 AJAX 请求获取的简单字符串进行编码。
$str = '<img src="someinage.png" />';
echo json_encode(array('status'=>'OK',$str));
输出:
{"status":"OK","html":"<img src="someinage.png" />"}
看到双引号,我怎样才能避免这个问题?
将 html_entity_decode 函数用于$str
.
$str = '<img src="someinage.png" />';
echo json_encode(array('status'=>'OK',html_entity_decode($str)));
你可以做
$str = "<img src='someinage.png' />";
echo json_encode(array('status'=>'OK',$str));
看到双引号,我怎样才能避免这个问题?
看看第二个参数json_encode
可以取-JSON_HEX_QUOT
或JSON_HEX_TAG
,或两者的组合(取决于您试图屏蔽数据的上下文)应该能够解决您的问题(无需更改数据的格式甚至必须在函数调用中操作它,就像莎拉的回答一样)。