Forum Moderators: coopster

Message Too Old, No Replies

ereg replace numbers and spaces

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

         

Robert Poole

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

10+ Year Member



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

dreamcatcher

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

WebmasterWorld Senior Member 10+ Year Member



You could use str_replace [php.net].

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

dc

rocknbil

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

WebmasterWorld Senior Member 10+ Year Member



$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.

Robert Poole

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

10+ Year Member



Like it guys!

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