开发者

Slash issue with json_encode. Why and how to solve it?

开发者 https://www.devze.com 2023-03-21 12:31 出处:网络
Why outputting this date (\"2011/7/11\") with json_encode displays (\"2011\\/7\\/11\")? How can I convert \"2011\\/7\\/11\" to \"2011/7/11\"?

Why outputting this date ("2011/7/11") with json_encode displays ("2011\/7\/11")?

How can I convert "2011\/7\/11" to "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 js开发者_JAVA技巧on_encode($ok); // output "2011\/7\/11"


In PHP 5.4, you can use JSON_UNESCAPED_SLASHES:

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

Otherwise, you have to do some trivial post-processing

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

Note that \/ is a valid way to represent / in JSON.


$data_go = str_replace('\'','', $data_go);

it will remove all forwards slashes and will give you desired result..

0

精彩评论

暂无评论...
验证码 换一张
取 消