有没有办法禁用它?
是的,您只需要使用该JSON_UNESCAPED_SLASHES
标志。
重要的阅读之前:https : //stackoverflow.com/a/10210367/367456(知道你在做什么-知道你的敌人)
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/"