2014-01-29 93 views
0

林輸出一些數據作爲JSON和我試着用HTML代碼來替換括號中的輸出「[」:PHP str_replace函數不能在JSON字符串工作

$qq = json_decode($html, true); 
$qq2 = str_replace("[","<span>",$qq); 

print_r($qq2); 

它不工作,這意味着無論如何,括號都顯示出來,並沒有被替換。 輸出示例:

[2] => Array 
           (
            [image] => http://rack.0.mshcdn.com/james-clapper.jpg 
            [query] => (max-width: 480px) 
            [size] => 80x80# 
           ) 

我想換成括號爲html標籤,以便輸出將 是:

[2] => Array 
           (
            <span> image </span> => http://rack.0.mshcdn.com/james-clapper.jpg 
            <span> query </span> => (max-width: 480px) 
            <span> size </span> => 80x80# 
           ) 
+1

看起來好像您正試圖替換數組上的文本而不是字符串。 http://us3.php.net/json_decode – RyanS

+0

你在說我想做什麼是不可能的嗎?基本上我試圖通過在HTML標籤中轉換它來「美化」json。這是不可能的這樣的..? – Youss

+2

正如RyanS所說,$ qq是一個數組,而不是JSON字符串。無論哪種方式,你都不應該爲此使用str_replace。只需迭代數組並創建一個具有格式的字符串即可。 – Dave

回答

2

使用http://www.php.net/array_walk後,您解碼字符串申請str_replace函數來的每一個成員陣列。

+0

謝謝,似乎它可以完成這項工作,但仍在測試.. – Youss

+1

不錯,如果您只需要將HTML標記添加到數組鍵,而不是使用str_replace,則可以在回調函數中追加並預先將它們添加爲 。$鍵。 marcanuy