2014-09-01 12 views
-4

請幫我做下面的事情, 我需要使用preg_match_all重複數據轉換成數組

this.message(data1,{data2}, {data3},data4); this.message(data5,{data6}, {data7},data8); this.message(data9,{data10}, {data11},data12); 

排序串入陣

array[0]:(data1,{data2}, {data3},data4); 
array[1]:(data5,{data6}, {data7},data8); 
... and so on 

array[0]:this.message(data1,{data2}, {data3},data4); 
array[1]:this.message(data5,{data6}, {data7},data8); 
... and so on 

等使用preg_match_all()

回答

0

你可以試試下面的正則表達式匹配所有與(開始高達下一;符號的字符串。

<?php 
$str = 'this.message(data1,{data2}, {data3},data4); this.message(data5,{data6}, {data7},data8); this.message(data9,{data10}, {data11},data12);'; 
preg_match_all("~\([^\)]*\);~", $str, $match); 
print_r($match); 
?> 

輸出:

Array 
(
    [0] => Array 
     (
      [0] => (data1,{data2}, {data3},data4); 
      [1] => (data5,{data6}, {data7},data8); 
      [2] => (data9,{data10}, {data11},data12); 
     ) 

)