php json_encode 遇到html标签 js错误
2012年1月4日
没有评论
当php json_encode 如下的
$output = array(‘success’ => true, ‘data’ => ‘<p>test</p>’);
时候,
如果前端的js是用eval(‘(‘ + jsonStr + ‘)’);的方式,亦或window.JSON.parse 都会报错
原因在于php的json_encode 默认是不转义< > 这种标签的,
这时候使用json_encode($output, JSON_HEX_TAG) 来把输出的tag开始结束符号转移掉就不会出错了
<
会被转义成\u003C
>
会被转义成 \u003E
注意:这根htmlspecialchars两码事
