Convertir une couleur hexadécimale en RGB en PHP

Cette fonction prend en paramètre une chaîne de caractères représentant une couleur hexadécimale (de type #ffccdd, #fcd, ffccdd ou fcd) et retourne une tableau PHP des 3 composants rouge, vert et bleu.

function hex2rgb($hex) {
	$hex = str_replace("#", "", $hex);
	if(strlen($hex) == 3) {
		$r = hexdec(substr($hex,0,1).substr($hex,0,1));
		$g = hexdec(substr($hex,1,1).substr($hex,1,1));
		$b = hexdec(substr($hex,2,1).substr($hex,2,1));
	} else {
		$r = hexdec(substr($hex,0,2));
		$g = hexdec(substr($hex,2,2));
		$b = hexdec(substr($hex,4,2));
	}
	$rgb = array($r, $g, $b);
	return $rgb;
}