I figured I'd change the input method to the following (with [ ] designating text fields):
([xxx]) [xxx]-[xxxx]
([xxx]) = $area
[xxx]=$pref
[xxxx]=$suff
$phone=$area.$pref.$suff;
The above is purely conceptual, not literal.
Then I could just substr the concatenated number on output when I need to format it.
I think this concept should work.
p.s. Thanks for the str_replace method. I was able to clear out the special characters from the entire dbase using that. 🙂