php - json_encode 的斜线问题。为什么以及如何解决?

标签 php codeigniter date json

为什么用 json_encode 输出这个日期 ("2011/7/11") 显示 ("2011\/7\/11")?

如何将 "2011\/7\/11" 转换为 "2011/7/11"

$data_go = '2011/7/11';
$ddmmyyy='([1-9][\d]{3})[- \/.]([0-1][\d])[- \/.]([0-3][\d])';
            if(preg_match("/$ddmmyyy$/", $data_go)) {
            $year = substr($data_go,0,4);
            $month = substr($data_go,5,2);
            $day = substr($data_go,8,2);
            $j2g = $this->convert_date->JalaliToGregorian($year, $month, $day);
             $ok = $j2g[0]."/".$j2g[1]."/".$j2g[2];
            }else {
              return FALSE;
            }
echo json_encode($ok); // output "2011\/7\/11"

最佳答案

在 PHP 5.4 中,您可以使用 JSON_UNESCAPED_SLASHES:

echo json_encode("2011/7/11", JSON_UNESCAPED_SLASHES);

否则,你必须做一些琐碎的后期处理

str_replace('\\/', '/', json_encode("2011/7/11"));

请注意,\/ 是在 JSON 中表示 / 的有效方式。

关于php - json_encode 的斜线问题。为什么以及如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6743554/

相关文章:

php - 可扩展的异步图像大小调整

php - 查询15分钟内添加的行

swift - 获取从星期一开始的本周日期数组

javascript - 统计mysql中的重复数据

php - 将 UTF-8 编码的字符串插入 UTF-8 编码的 mysql 表失败​​,并显示 "Incorrect string value"

php - 我的 AJAX PHP 请求有什么问题?

javascript - 如何获得两个时刻之间的日历周差?

php - 我需要我的所有 PHP 类及其所在文件的列表 - 我可以在 Netbeans IDE 中完成吗?

javascript - Codeigniter - 如何将 JSON 传递到 Assets 文件夹中的 JS 文件?

php - 将变量从 javascript 函数传递到 codeigniter 中的 Controller 方法