Verständnisfrage:
<?php
if (preg_match( '/phone/i', $field) && ($value != '') ) {
danach kommt:
<?php
$error_bg[] = $field;
Bedeutet doch, wenn Feldname = phone und Inhalt nicht leer, dann Error. ?
Also wenn was drin steht = Error.
Aber die Telefonnummer soll ja optional sein.