我需要 将HSL或RGB字符串颜色转换为数组 。我得到的参数类似于:
$str = "rgb(40, 50, 60)"; // or "hsl(40, 50%, 60%)"
转换为:
array(40, 50, 60); // or array(50, "50%", "60%")
我喜欢使用正则表达式的解决方案,我不想使用拆分功能; - (
注意: 我有一个RGB解决方案,但我不使用HSL:
$rgb_color = sscanf($str, "rgb(%d, %d, %d)");
答案 0 :(得分:2)
你只需要在正则表达式中查找数字和Always(Default)
符号,When Unlocked
找到任何数字。并且Never
php函数返回所有匹配而不仅仅是第一个匹配。
%
答案 1 :(得分:1)
您可以查找数字,后跟可选的%
:
preg_match_all('/([\d]+)%?/', $str, $matches);
然后使用$matches[1]
。