2013-04-07 45 views
2

我有一個字符串,它看起來像這樣用一定的方案分割一個字符串,這是一個壞習慣嗎?

[{ "title":"","comment":"","size":"18.298","name":"logo.png", 
"filename":"fu_mucqjrfifpadsw8","ext":"png" }] 

我想FILENAME.EXT出來。對我來說,它看起來像我能比這樣做更容易以下(其中正常工作,但似乎不好的做法 - 或者是什麼呢?)

如何我目前提取它:

$logo = explode(':',$string); 
$ext = str_replace('"', "", $logo[6]); 
$ext = str_replace(' }]', "", $ext); 
$logo = explode(',',$logo[5]); 
$logo=str_replace('"', "", $logo[0]); 

回答

6

它看起來像JSON數據。你可以使用php的json_decode來獲得一個數組然後索引數組。

$string = '[{ "title":"","comment":"","size":"18.298","name":"logo.png","filename":"fu_mucqjrfifpadsw8","ext":"png" }]'; 
$data = json_decode($string, true); 
// Access filename field 
$data[0]['filename']; 
+0

完美,謝謝。 – Markus 2013-04-07 17:20:59

5

這是可怕實踐。您的數據是JSON格式,所以你應該做的是使用json_decode將其轉換爲一個PHP變量,然後定位到你所需要的信息。

例如,要獲得文件名+擴展名:

$data = json_decode($string, true); 
$filename = $data[0]['filename']; 
$ext = $data[0]['ext']; 

$allTogether = $filename.'.'.$ext; 
+0

這就是爲什麼我問。我dindt知道這是json ...試圖谷歌它,但你怎麼谷歌的字符串結構,如:D – Markus 2013-04-07 17:22:19

相關問題