Verdon vaillancourt wrote:

Hi :)

I've been working on reformatting a phone number string from user input via
a form field. Ultimately, my goal is to format all phone numbers in the same
way regardless of whether a user inputs '(123) 456-7890', '123-456-7890',
'123.456.7890', etc. before I insert them into a db.

I know I've got a ways to go, but so far, after trying a few things I found
in the manual, I'm going in this direction...

$patterns[0] = "/\(/";
$patterns[1] = "/\)/";
$patterns[2] = "/-/";

$replacements[0] = "";
$replacements[1] = "";
$replacements[2] = " ";

$phone = preg_replace($patterns, $replacements, $phone);

This will change '(123) 456-7890' to '123 456 7890' which is what I am
after. I'm just wondering if there is a better or more elegant way to handle
this before I start trying to cover all the bases?

Could do something like this:


$phone = preg_replace('/[^0-9]/','',$phone);
if(strlen($phone) != 10)
{ echo "phone number is not valid!"; }
$phone = substr($phone,0,3) . ' ' . substr($phone,3,3) . ' ' . substr($phone,-4);


Which should cover all of the bases. :)

--
---John Holmes...

Amazon Wishlist: www.amazon.com/o/registry/3BEXC84AB3A5E/

PHP|Architect: A magazine for PHP Professionals – www.phparch.com





--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to