2015-08-27 3 views

ответ

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 string до 178, 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]; 

Пожалуйста, обратите внимание, что это не подтверждает, что исходная строка фактически имеет три целочисленных значений.

 Смежные вопросы

  • Нет связанных вопросов^_^