Какой-то способ получить цвета из строки в php?

У меня есть строка, подобная этой

$color="rgb(255, 255, 0)"; 

Я хочу получить значения 255,255,0 либо в массиве, либо в трех разных переменных. Например, для

 $arr[0]=255; $arr[1]=255; $arr[2]=0; 

Я думаю, что это можно сделать в регулярном выражении. Но я в этом плохой. благодаря

Если он всегда находится в этом формате, тогда это должно работать без использования регулярного выражения:

 $color = str_replace(array('rgb(', ')', ' '), '', $color); $arr = explode(',', $color); 

Мы используем str_replace() чтобы str_replace() неинтересные данные и пробелы, а затем explode() строку запятыми, чтобы получить желаемый формат массива в $arr .

Я также добавил это решение в кодовое слово, чтобы вы могли видеть, что происходит, когда вы его запускаете.

С помощью этого кода вам не нужно беспокоиться о дополнительных пробелах между запятыми и числами

 $data = "rgb(255, 255, 0)"; $data = "rgb( 255 , 255 , 0 )"; preg_match_all("/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i", $data, $matches); print("<PRE>"); var_dump($matches); print("</PRE>"); 
 $colors = array(); preg_match('/rgb *\( *(\d+), *(\d+), *(\d+) *\)/', $colors); list( , $red, $green, $blue) = $colors; 
 <?php $color="rgb(255, 255, 0)"; $color=explode('(',$color); $color=explode(')',$color[1]); $color=explode(', ',$color[0]); echo $color[0]."<br>"; echo $color[1]."<br>"; echo $color[2]."<br>"; ?> 

См. Пример кода .

 <?php $text = 'rgb(255, 255, 0)'; preg_match_all('/\\d+/', $text, $matches); print_r(reset($matches)); ?> 

edit С функцией reset ()