Thomas Meinike: Verstehe preg_match() nicht ganz

Beitrag lesen

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