JSON 传递 html 时出错
我在传递 html 代码时遇到 JSON 问题,我不明白,因为我用 addslashes php 函数转义了。
这是失败的 JSON:
对于 php JSON 是有效的:
<?php if(count($articles)): ?>
{"items":[
<?php foreach($articles as $key => $article): ?>
<?php if($key==0 ):?>
{
"foto_g": "<?php echo $article->getRutafoto() ?>",
"foto_th": "<?php echo $article->getRutathumb() ?>"
}
<?php else: ?>
,
{
"foto_g": "<?php echo $article->getRutafoto() ?>",
"foto_th": "<?php echo $article->getRutathumb() ?>"
}
<?php endif ?>
<?php endforeach ?>
],
"nom_coleccio": "<?php echo $coleccio->getNom()?>"
,
"descripcio_coleccio": "<?php echo addslashes($coleccio->getDescripcio(ESC_RAW))?>"
}
<?php endif ?>
有问题的结果是:
{
"descripcio_coleccio": "<p>El delta de l\'Ebre ha estat l\'escenari d\'inspiració d\'aquesta col·lecció.</p>
<p>La línia de l\'horitzó i el color del paisatge materialitzats en alumini s\'uneixen per a crear volum en forma de joia.</p>"
}
问题是什么时候?
谢谢问候
I have problem with JSON, passing html code, I don't understand because I escaped with addslashes php function.
This is the JSON that fail:
With php JSON is valid:
<?php if(count($articles)): ?>
{"items":[
<?php foreach($articles as $key => $article): ?>
<?php if($key==0 ):?>
{
"foto_g": "<?php echo $article->getRutafoto() ?>",
"foto_th": "<?php echo $article->getRutathumb() ?>"
}
<?php else: ?>
,
{
"foto_g": "<?php echo $article->getRutafoto() ?>",
"foto_th": "<?php echo $article->getRutathumb() ?>"
}
<?php endif ?>
<?php endforeach ?>
],
"nom_coleccio": "<?php echo $coleccio->getNom()?>"
,
"descripcio_coleccio": "<?php echo addslashes($coleccio->getDescripcio(ESC_RAW))?>"
}
<?php endif ?>
And the result that have problem is:
{
"descripcio_coleccio": "<p>El delta de l\'Ebre ha estat l\'escenari d\'inspiració d\'aquesta col·lecció.</p>
<p>La línia de l\'horitzó i el color del paisatge materialitzats en alumini s\'uneixen per a crear volum en forma de joia.</p>"
}
When is the problem?
Thanks Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果可能的话,您应该使用正确的编码函数。如果是 JSON,您应该使用
json_encode
,即使只是针对特定值。但是,如果您使用关联键收集数组中的值并仅在最后使用 json_encode ,则会更容易:
You should use proper encoding functions if possible. In case of JSON you should use
json_encode
, even if just for particular values.But it would be easier if you collect the values in an array with associative keys and use
json_encode
only at the end:不要那样做!在 PHP 中正确构建 JSON:
Don't do that! Construct the JSON properly in PHP instead:
这些单引号不应被转义:
Those single quotes shouldn't be escaped: