我想準備要發送的數據在一個寧靜的服務器JSON,所以我需要準備數據,以便所有日期轉換爲unix時間戳和所有numric值不會被雙引號包圍。PHP的preg_replace MySQL的日期時間或時間或日期JSON字符串向timestamp
我現在的嘗試是
$j = json_encode($data); //json_encode($data,JSON_NUMERIC_CHECK);
$j = preg_replace('/(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/e', "strtotime('$1')", $j);//timedate
$j = preg_replace('/(\d{4}-\d{2}-\d{2})/e', "strtotime('$1')", $j);//dates
$j = preg_replace('/(\d{2}:\d{2}:\d{2})/e', "strtotime('$1')", $j);//time
$j = preg_replace('/\"([0-9]+)\",/', "$1,",$j);//remove double quotes from around int values
echo $j;
,但我有點擔心這可能會適得其反(錯誤),被認爲是安全的這種普遍的做法?有沒有更好/更快的方法來做到這一點?
'/ e'已被棄用,請改爲使用preg_replace_callback。 – Toto 2015-03-02 13:10:41