2012-11-25 41 views
0

字符串(JSON):{"title":"\"Copper\""}如何刪除」

我已經試過

$output = str_replace('\\"', "", $output); 

,但我得到了

{"title":""  Copper""} 

我希望

{"title":"Copper"} 
+0

你想用null替換什麼? – samayo

+0

@Eritrea因爲我需要清理我的標題 – sparkle

+2

您的輸入是有效的JSON。不要試圖通過正則表達式來解析它,只需使用['json_decode'](http://php.net/json_decode)「。 – phihag

回答

1

你是什麼人用你的o生成JSON字符串代碼(而不是從第三方獲取)?如果是這樣,請發佈生成JSON字符串的代碼,並詳細說明您爲此嘗試解決問題所做的工作。

如果你沒有在JSON字符串控制(和/或JSON字符串的創作者不會/不能修復的話),然後是哈克的方式來解決這將是:

$output = str_replace('\"' , '' , $output); 
2

你的示例代碼是不完整的,因爲你給做的工作:

php > $s='{"title":"\"Copper\""}'; 
php > echo $s; 
{"title":"\"Copper\""} 
php > echo str_replace('\\"',"",$s); 
{"title":"Copper"} 

(即從php -a交互式會話)

換句話說,您輸入的數據是不是你的想法 它是。

順便說一句,正如其他人所說,最好在JSON上使用json_decode。然後在感興趣的領域做字符串操作。然後使用json_encode以JSON形式返回。使用str_replace或正則表達式可能適用於簡單情況,但只要您收到意外的數據,它可能會出現可怕的錯誤。

+0

你說的對,我在代碼的另一部分發生了錯誤,它搞砸了整個代碼。 – sparkle