为什么("2011/7/11")用json_encode显示器输出该日期("2011\/7\/11")?
("2011/7/11")
json_encode
("2011\/7\/11")
如何转换"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:
JSON_UNESCAPED_SLASHES
echo json_encode("2011/7/11", JSON_UNESCAPED_SLASHES);
否则,您必须进行一些琐碎的后处理
str_replace('\\/', '/', json_encode("2011/7/11"));
请注意,这\/是表示/JSON 的有效方法。
\/
/