I'm nowhere near an expert on preg_replace, so I'll let diego or someone else take care of that, but you could use str_replace to get rid of spaces and - on the phone.
$phone = "555-643-8453";
// get rid of spaces (if any)
$phone = str_replace(" ", "", $phone);
// get rid of dashes (if any)
$phone = str_replace("-", "", $phone);
Cristian