У меня есть информация о цвете гистограммы ImageMagick в строке, я хочу проанализировать строку с помощью функции php preg_match (), извините, у меня нет больше знаний о регулярных выражениях.
<?php
$str = "588: ( 99, 75, 52) #634B34 srgb(99,75,52)";
preg_match('/(?P<colors>\d+\:)/', $str, $matches);
print_r($matches);
?>
Ожидаемый результат
Array
(
[colors] => 588,
[red] => 99,
[green] => 75,
[blue] => 52
)
Как получить желаемый результат или есть другой способ получить цвета и плотность?
Я думаю, ты хочешь что-то подобное,
(?P<colors>\d+):\s*\(\s*(?P<red>\d+),\s*(?P<green>\d+),\s*(?P<blue>\d+)
Вы можете использовать это регулярное выражение для получения значений в srgb:
$str = "588: ( 99, 75, 52) #634B34 srgb(99,75,52)";
preg_match_all("/srgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i", $str, $matches);
var_dump($matches);
так что если у вас есть строка всегда так:
substr($str, 0,3);
будет 588