function hexToRgb($hex) {
// Remove the '#' if it exists
$hex = ltrim($hex, '#');
// Expand shorthand hex codes (e.g., #ff0 to #ffff00)
if (strlen($hex) == 3) {
$hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
}
// Parse the hex code
list($r, $g, $b) = sscanf($hex, "%02x%02x%02x");
return array($r, $g, $b);
}
$hex1 = "#ff0";
list($r1, $g1, $b1) = hexToRgb($hex1);
echo $r1 . ',' . $g1 . ',' . $b1 . "\n";
$hex2 = "#f0f";
list($r2, $g2, $b2) = hexToRgb($hex2);
echo $r2 . ',' . $g2 . ',' . $b2 . "\n";
$hex2 = "#ffff0";
list($r2, $g2, $b2) = hexToRgb($hex2);
echo $r2 . ',' . $g2 . ',' . $b2 . "\n";
$hex2 = "#fa9805";
list($r2, $g2, $b2) = hexToRgb($hex2);
echo $r2 . ',' . $g2 . ',' . $b2 . "\n";
$hex3 = "fa9805"; //test without #
list($r3, $g3, $b3) = hexToRgb($hex3);
echo $r3 . ',' . $g3 . ',' . $b3 . "\n";
/*
run:
255,255,0
255,0,255
255,255,0
250,152,5
250,152,5
*/