Есть поле INPUT, в который вводится цвет вида fff (обязательно без "#" она подставляется в самом html).
Из него данные передаются в PHP и там в HTML прямо подставляется то значение, как его правильнее фильтровать?
И сделать чтобы если оно невалидное, то подставлялось стандартное значение?
Ответ
Проверить валидность можно регуляркой.
Например такой, так как цвет можно задавать как 3-мя, так 6-ми символами:
/^([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$/i
Как-то так:
$color; // тут у вас строка с цветом
if(preg_match('/^([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$/i', $color)){
// валидный цвет
}
else{
// не валидный цвет
}
Комментариев нет:
Отправить комментарий