如何解决json_encode() 转义正斜杠
有没有办法禁用它?
是的,您只需要使用JSON_UnesCAPED_SLASHES
标志。
json_encode($str, JSON_UnesCAPED_SLASHES);
如果您手头没有 PHP 5.4,请选择众多现有函数之一并根据您的需要对其进行修改,例如http://snippets.dzone.com/posts/show/7487(存档副本)。
<?PHP
/*
* Escaping the reverse-solidus character ("/", slash) is optional in JSON.
*
* This can be controlled with the JSON_UnesCAPED_SLASHES flag constant in PHP.
*
* @link http://stackoverflow.com/a/10210433/367456
*/
$url = 'http://www.example.com/';
echo json_encode($url), "\n";
echo json_encode($url, JSON_UnesCAPED_SLASHES), "\n";
示例输出:
"http:\/\/www.example.com\/"
"http://www.example.com/"
解决方法
我正在从 Instagram 中提取 JSON:
$instagrams = json_decode($response)->data;
然后将变量解析成 PHP 数组来重构数据,然后重新编码和缓存文件:
file_put_contents($cache,json_encode($results));
当我打开缓存文件时,所有正斜杠“/”都被转义:
http:\/\/distilleryimage4.instagram.com\/410e7...
我从json_encode()
自动执行此操作的搜索中收集…有没有办法禁用它?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。