问题描述
在PHP 5.4中,可以使用JSON_UnesCAPED_SLASHES
:
echo json_encode("2011/7/11", JSON_UnesCAPED_SLASHES);
否则,您必须进行一些琐碎的后处理
str_replace('\\/', '/', json_encode("2011/7/11"));
请注意,这\/
是表示/
JSON 的有效方法。
解决方法
为什么("2011/7/11")
用json_encode
显示器输出该日期("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,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"