2015-08-27 130 views
0

個人價值觀我有一個這樣的字符串:從字符串中提取的PHP

$string = 'rgb(178, 114, 113)'; 

,我想提取的那

$red = 178; 
$green = 114; 
$blue = 113; 
+0

告訴我們你試過了什麼。 – axiac

回答

4

您可以使用regular expression

preg_match_all('(\d+)', $string, $matches); 
print_r($matches); 

輸出:

Array 
(
    [0] => Array 
     (
      [0] => 178 
      [1] => 114 
      [2] => 113 
     ) 
) 

希望這有助於。

+0

謝謝,這工作!謝謝大家! – redviper2100

1

個人價值。如果你的字符串將始終rgb(啓動並以)結尾,那麼你可以truncate the string178, 114, 113

然後convert the list to an array

$vals = explode(', ', $rgb); 
//or you could use just ',' and trim later if your string might be in the format `123,123, 123` (i.e. unknown where spaces would be) 

在這一點上,$vals[0]是紅色的,$vals[1]爲綠色,$vals[2]是藍色的。

0

使用preg_match_all和列表,你可以得到你想要的變量:

$string = "rgb(178, 114, 113)"; 
$matches = array(); 
preg_match_all('/[0-9]+/', $string, $matches); 
list($red,$green,$blue) = $matches[0]; 

請注意,這不驗證原始字符串實際上確實有三個整數值。