Welcome to WebmasterWorld Guest from 54.196.231.129

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

ereg replace numbers and spaces

how to format a phone number to leave only numbers and spaces

     
11:11 am on May 6, 2009 (gmt 0)

Junior Member

5+ Year Member

joined:June 7, 2007
posts:82
votes: 0


Hey campers.

Let's say I wish to take an input field which is a phone number, and strip out everything that is not a number or a space. For instance...

(01234) 567890 would become 01234 567980 (not 01234567890).

I just don't know how to configure the POSIX part of the ereg_replace statement. I've tried about a bazillion approaches but have come up empty.

Should be a quite simple one for you big-brains out there!

Cheers

Roberto

3:01 pm on May 6, 2009 (gmt 0)

Senior Member

WebmasterWorld Senior Member dreamcatcher is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Mar 30, 2003
posts:3719
votes: 0


You could use str_replace [php.net].

$phone = str_replace(array('(',')',array(),$phone);

dc

4:03 pm on May 6, 2009 (gmt 0)

Senior Member

WebmasterWorld Senior Member rocknbil is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Nov 28, 2004
posts:7999
votes: 0


$phone = preg_replace('/[^\d\s]+/','',$phone);

\d = digit
\s = space
^ not operator, when the first character inside a character class
[] character class
+ one or more

Summary: replace one or more instances of anything not a digit or space in the string "$phone" with an empty string.

9:49 am on May 7, 2009 (gmt 0)

Junior Member

5+ Year Member

joined:June 7, 2007
posts:82
votes: 0


Like it guys!

Thanks for your speedy and effecient responses, and an extra thanks to rocknbil for the explanation to go with!