I would suggest changing your database so that only the numbers in the phone field are stored. Then it is trivial to show in whatever format you want. We get phone data from many many sources and this is the best way we have found to handle the problem. Data is entered consistently and if one cliuent wants it to display (###)###-#### and one wants it to display ###-###-####, it isn't a problem. Plus scrubbing for numbers only weeds out junk like "Call Susan instead of him" We also never store a phone number that doesn't have the correct number of digits including the area code. If we can't call the number, it is useless to store. We store extensions in a separate field.
To accomplish this you will need to set up your field so that it will to accept numbers and set up your user interface to check the data before it is entered or updated and to only send numbers and change any imports to scrub the numbers before inserting them. These are one-time changes which will apear to be time-consuming but which will save much processing time for the future and as therefore worth the time to do. When there is a clear standard for waht the data should contain, the controls to ensure so other kind of data is put into the field should always be both on the database itself and in the user-inteerface. The saying garbage in, garbage out is very true. If you have to spend a lot of time fixing teh data when you want to display it, then you need to fix how the data is entered and stored instead. Every single time. No matter how painful it is.
"NOTHING is more important in a database than integrity." ESquared