2016-01-11 109 views
0

我想用的preg_replace請幫我使用的preg_replace去除雙引號

例如除去雙引號:

$str = '{"start_date":"2011-01-01 09:00","end_date":"2011-01-01 10:00","text":"test","start":"2011-01-01 09:00","date":"2011-01-01 10:00","text":"test"}'; 
$str = preg_replace('/"([^"]+)"\s*:\s*/', '$1:', $str); 
echo $str; 

和輸出

{起始日期:」 2011-01-01 09:00「,end_date:」2011-01-01 10:00「,文本:」測試「,開始:」2011-01-01 09:00「,日期:」2011-01-01 10:00「,文字:」測試「}

我想是

{ 「起始日期」 2011-01-01 09:00 「END_DATE」:2011-01-01 10:00, 「文」:測試開始:「2011 -01-01 09:00" ,‘日期’:2011-01-01 10:00,‘文’:測試}

所以請如果任何人都可以幫我這個我會很感謝全

+2

可是你爲什麼要d o使用'json'值爲什麼你不使用'json_decode'而不是'preg_replace' –

+0

爲什麼你想刪除雙引號?... – Clay

+0

你可以使用'json_decode'來獲得沒有雙引號的字符串如上所述:'$ str = json_decode($ str) - > start_date;' – ordonezalex

回答

1

這裏是你的情況的解決方案:

$str = preg_replace('/:\"+([^"]+?)\"+/', ':$1', $str);