尝试使用 jQuery 解析时会导致 JSON 非法。整个文档,数据库连接是用 UTF-8 编码的。
编码
header('Content-Type: application/json; charset=utf-8');
echo (json_encode($products));
这是输出(更新):
{
"D8": {
"title": "Green A\/C U\/V Dye Self-Measure bottle treats 32 véhicules 8 oz. (237 ml)",
"image": "http:\/\/www.supercool.ac\/wp-content\/uploads\/2011\/10\/D8.png",
"Description": "<ul>\n<li>Efficace dans le R-134a et R-12 systèmes de réfrigération<\/li>\n<li>Detectable when exposed to U\/V light<\/li>\n<li>Compatible avec PAG, ester, les huiles minérales et<\/li>\n<li>Ne contient pas de solvants!<\/li>\n<li>Will not harm A\/C systems or recovery equipment<\/li>\n<li>Universal A\/C Dye Safe for Hybrid and<br \>\n Véhicules électriques<\/li>\n<li>Partie # D8<\/li>\n<\/ul>\n"
}
}
这不应该默认转义吗?我能做些什么来逃避它?
更新:
json_encode 正在破坏 HTML(描述字段)。它产生了一个无效的 br 标签<br />
,注意正斜杠。我认为这仅限于 5.2.8。为了纠正这个问题,我只是去掉了 br 标签作为临时解决方案,直到我可以说服主机升级。
preg_replace('/\<br\s\/>/', '', string);