У меня есть строка, как это:Извлечение отдельных значений из строки в PHP
$string = 'rgb(178, 114, 113)';
, и я хочу, чтобы извлечь отдельные значения этого
$red = 178;
$green = 114;
$blue = 113;
У меня есть строка, как это:Извлечение отдельных значений из строки в PHP
$string = 'rgb(178, 114, 113)';
, и я хочу, чтобы извлечь отдельные значения этого
$red = 178;
$green = 114;
$blue = 113;
Вы можете использовать regular expression
preg_match_all('(\d+)', $string, $matches);
print_r($matches);
Выход:
Array
(
[0] => Array
(
[0] => 178
[1] => 114
[2] => 113
)
)
Надеется, что это помогает.
Спасибо, это сработало! Всем спасибо! – redviper2100
Если строка всегда будет начинаться с 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]
синий.
Использование preg_match_all и список, вы можете получить переменные, которые вы хотите:
$string = "rgb(178, 114, 113)";
$matches = array();
preg_match_all('/[0-9]+/', $string, $matches);
list($red,$green,$blue) = $matches[0];
Пожалуйста, обратите внимание, что это не подтверждает, что исходная строка фактически имеет три целочисленных значений.
Покажите нам, что вы попробовали. – axiac