MooreHojer skrev:
> Hvordan tjekker man nemmest om brugerens input er et valid hexidecimal
> farvekode?
Det ved jeg ikke, men her er en mulighed:
function check_hexcolor($color,$hash) {
if ($color[0]=='#')
if (!$hash) return false;
else $color=substr($color,1);
$len=strlen($color);
if ($len!=3 && $len!=6) return false;
$legal=' 0123456789abcdef';
$color=strtolower($color);
for ($n=0; $n<$len; ++$n)
if (!strpos($legal,$color[$n])) return false;
return $len;
}
> Jeg har bruge to seperate test, én hvor den kræver # foran, og en hvor det
> er valgfrit om man har den med.
Du kalder funktionen med
$farve='1a2b3c';
if (check_hexcolor($farve,1)) echo "Okay";
else echo "Ikke okay";
Anden parameter skal enten være 0 eller også et vilkårligt tal. 0
betyder at der ikke må være et #.
Returværdien er længden på farvekoden. Den kan aflæses som true,
men man kan jo lige så godt returnere en nyttig oplysning.
if (check_hexcolor($farve,1)==3) echo "Kort kode som er okay";
Men der kommer sikkert en regexp-haj og viser noget meget
nemmere.
--
Bertel
http://bertel.lundhansen.dk/ FIDUSO:
http://fiduso.dk/