2015-08-25 104 views
-2

如何從下面的主字符串中只提取子字符串..\/files\/listo_bfty77a3.jpgPHP只提取兩個字符之間的字符串中的特定部分

[ 
    { 
     "name":"..\/files\/listo_bfty77a3.jpg", 
     "usrName":"Listo.jpg", 
     "size":188126, 
     "type":"image\/jpeg", 
     "searchStr":"Listo.jpg,!:sStrEnd" 
    } 
] 

實際上我需要的內容從十一焦炭和結束第一」出發,提前

+1

或者,您可以解碼JSON並訪問名稱條目。 – mario

+0

我試過但不工作$ String = json_decode($ reportdata ['img']); $ repImg = $ String ['name']; – AleMal

回答

1

感謝您發佈的字符串是一些數據結構的JSON表示。解碼它使用PHP函數json_decode();通TRUE作爲第二個參數得到陣列背部:

$text = '[ 
    { 
     "name":"..\/files\/listo_bfty77a3.jpg", 
     "usrName":"Listo.jpg", 
     "size":188126, 
     "type":"image\/jpeg", 
     "searchStr":"Listo.jpg,!:sStrEnd" 
    } 
]'; 
$data = json_decode($text, TRUE); 

如果您不會說JSON或者數據結構很厚,並且JSON乍一看無法理解,請使用print_r()來查看數據結構的外觀。

print_r($data); 

它顯示:

Array 
(
    [0] => Array 
     (
      [name] => ../files/listo_bfty77a3.jpg 
      [usrName] => Listo.jpg 
      [size] => 188126 
      [type] => image/jpeg 
      [searchStr] => Listo.jpg,!:sStrEnd 
     ) 
) 

,現在清楚你所需要的屬性可以爲$data[0]['img']進行訪問。

+0

謝謝,但我如何訪問數據 - > – AleMal

+0

$ String = json_decode($ reportdata ['img']); // print_r($ String); $ img = $ String-> 0; – AleMal

+0

仔細看看'print_r()'的輸出。如果您沒有將'TRUE'作爲第二個參數傳遞給'json_decode()',那麼您將獲得一個包含具有'name','size'等屬性的對象的數組。 – axiac

相關問題