Как удалить первую цифру в PHP - PullRequest
1 голос
/ 23 мая 2019

у меня данные номера телефона начинаются с +63 и 09

например, пользователь вставляет 09123456789, затем сохраняет. У пользователя не будет успеха, если он введет +639123456789, потому что это было вообще одно и то же число.

Я пытался использовать substr_replace

$data3 = substr_replace("+63", "0",0, 3);

есть другой вариант? я думаю, что substr_replace будет иметь ошибку в будущем.

спасибо

Ответы [ 2 ]

3 голосов
/ 23 мая 2019

Если +63 должен быть в начале, вы можете использовать preg_replace как

$s = preg_replace('~^\+63~', '0', $s);

Здесь,

  • ^ - начало строкиposition
  • \+ - литерал +
  • 63 - подстрока 63.

См. демонстрационную версию regex и PHP демо .

Пожалуйста, также рассмотрите предложение Тпойки использовать комбинацию intl-tel-input на переднем конце и libphonenumber-for-php на заднем плане, если вам нужно санировать и проверять международные телефонные номера.

1 голос
/ 23 мая 2019

В этом случае вы можете проверить условие и иметь str_replace

, если по вашему запросу есть +, затем удалите первые 3 буквы, включая +

* 1007.*
...