2013-06-24 39 views
0
[-27439367, 160818667, 'http:\/\/cs13110.vk.me\/u109515688\/video\/l_97403fde.jpg', 'Super Bass', '', '0', 38674081, 37, 0, '2:34', '3', '_8cb245a336c2e35049', ''] 

您好!這裏是我的示例文本....我需要使用的preg_match的多模式......我需要找到:

1 -27439367
2. 165375317
3. http://cs6067.vk.me /u189929178/video/l_02613a05.jpg
4.超低音
5. 0
6. 38674081
7. 37
8. 2:34
9. 0
10. 3
11。 _8cb245a336c2e35049
php preg_match_all多種圖案


我用:

preg_match_all("/[(.*?), (.*?), '(.*?)', '(.*?)', '', '0', 0, 23, 0, '', '0', '(.*?)', '']/mis", $a, $hashtweet); 
+2

它看起來像有效的json,所以http://php.net/manual/en/function.json-decode.php –

+0

你也可以爆炸,但它是json。 – ccd580ac6753941c6f84fe2e19f229

+0

有效的json是雙引號'''不是單引號'''。我不知道json_decode是否可以處理,如果不是,str_replace幫助 – x4rf41

回答

1

在這裏你去:

$json = "[-27439367, 160818667, 'http:\/\/cs13110.vk.me\/u109515688\/video\/l_97403fde.jpg', 'Super Bass', '', '0', 38674081, 37, 0, '2:34', '3', '_8cb245a336c2e35049', '']" ; 
$json = preg_replace("/'/", '"', $json); //Replace single quotes by double quotes 
$obj = json_decode($json); 

var_dump($obj); 

array (size=13) 
    0 => int -27439367 
    1 => int 160818667 
    2 => string 'http://cs13110.vk.me/u109515688/video/l_97403fde.jpg' (length=52) 
    3 => string 'Super Bass' (length=10) 
    4 => string '' (length=0) 
    5 => string '0' (length=1) 
    6 => int 38674081 
    7 => int 37 
    8 => int 0 
    9 => string '2:34' (length=4) 
    10 => string '3' (length=1) 
    11 => string '_8cb245a336c2e35049' (length=19) 
    12 => string '' (length=0) 
1

也許剝離[]支架和做explode(',', $input)docs)?

另一個想法:這看起來像一個有效的JSON數據,所以json_decodedocs)應該做的伎倆。