2013-03-28 43 views
0

冒號分隔的值我有一個字符串如何從一個字符串獲取在PHP

$style = "font-color:#000;font-weight:bold;background-color:#fff"; 

我只需要

font-color 
font-weight 
background-color 

我已經試過

preg_match_all('/(?<names>[a-z\-]+:)/', $style, $matches); 

var_dump($matches); 

它給了我下面的輸出

array 
    0 => 
    array 
     0 => string 'font-color:' (length=11) 
     1 => string 'font-weight:' (length=12) 
     2 => string 'background-color:' (length=17) 
    'names' => 
    array 
     0 => string 'font-color:' (length=11) 
     1 => string 'font-weight:' (length=12) 
     2 => string 'background-color:' (length=17) 
    1 => 
    array 
     0 => string 'font-color:' (length=11) 
     1 => string 'font-weight:' (length=12) 
     2 => string 'background-color:' (length=17) 

這個輸出有三個問題 1.它是二維或三維數組,我需要一維數組。 2.正在重複的信息 3.在每個元素的末尾添加「:」。

我需要一個數組這樣

array 
0 => 'font-color' 
1 => 'font-weight' 
2 => 'background-color' 

回答

2

取出冒號:

$style = "font-color:#000;font-weight:bold;background-color:#fff"; 
preg_match_all('/(?<names>[a-z\-]+):/', $style, $matches); 

var_dump($matches['names']); 

然後用$matches['names'],因爲你被點名了,所以你不要有多餘的信息

+0

謝謝,這很好.. – Munib

相關問題