I did searches and figured this would be an easy find. Though I haven’t found anything related to exactly what I need and similar questions are from people from overseas that have different phone formats with plus signs. A lot of my phone number entries start with a 1 and a space. I did a simple str_replace then I realized if a number has a 1 in the middle followed by a space, then that would mess it up
$string = trim($string);
$string = str_replace('1 ', '', $string);
That works for phone numbers beginning with
1 800-555-1111
1 222-555-1111
But in the case the phone number is
1 222 551 1111
Then that 551 and space would mess things up. How can it be rewitten so that only the first 1 and the following space is removed and the rest is untouched? Thanks.
EDIT
I forgot to mention that the entries do not always start with a 1 and a space. Sometimes they may be
888-555-1111
888 555 1111
1 888 555 1111
3
Answers
To
remove the first 1 and space
substr($string,2)
(without using thetrim()
method) orsubstr($string,1)
(if you used thetrim()
method first) will work but are you sure that your number will always start with a1
andwhitespace
?Do you have any checks or conditions added to make sure that the user input will always start with a
1
and followed by aspace
?If you are sure about that, then the substring solution removes those first two and then returns the rest of the string.
You can use regex to achieve this:-
if sometimes the number could be 888-555-1111 -, use if :