それを無効にする方法はありますか?
はい、JSON_UNESCAPED_SLASHES
フラグを使用するだけで済みます。
!重要な前にお読みください:https : //stackoverflow.com/a/10210367/367456(何を扱っているかを知ってください-敵を知ってください)
json_encode($str, JSON_UNESCAPED_SLASHES);
PHP 5.4が手元にない場合は、多数の既存の関数の1つを選択し、それらを必要に応じて変更します(例:http : //snippets.dzone.com/posts/show/7487(archived copy))。
デモの例
<?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/"