Hallo,
ich schlage mich gerade mit preg_match() herum. Ich habe folgende Abfrage um zu überprüfen ob der übergebene Wert ein gültiger Hexwert ist:
preg_match('/[^0-9a-fA-F]/', $hexColor)
Nur weiß ich jetzt nicht, was genau preg_match() zurückgibt, wenn es ein gültiger Hexwert ist. Im PHP Manual steht, dass 1 zurückgegeben wird, in meinem Fall wird aber 0 zurückgegeben, wenn die Zeichenkette nur aus 0-9 und A-F besteht.
1 steht fuer true (das Muster passt) und 0 fuer false (das Muster passt nicht).
Probiere es mal so:
<?php
$hexcol="#ABC123";
$regex="/^#([a-f]|\d){6}$/i";
if(preg_match($regex,$hexcol))
print "Gültige Hex-Farbe\n";
else print "Ungültige Hex-Farbe\n";
?>
MfG, Thomas