Как удалить первую цифру в PHP

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

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

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

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

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

Спасибо

попробуй str_replace('+63','0')

PHP Ninja 23.05.2019 09:29
substr_replace, вероятно, более безопасный вариант, чем str_replace
Andreas 23.05.2019 09:33

Я не вижу проблемы, которую вы пытаетесь решить. Как я вижу, этот вопрос не по теме SO. Хотя, вероятно, его можно было бы опубликовать на обзоре кода.

Andreas 23.05.2019 09:35

Эти вещи уже решены. Я бы предложил использовать международный тел-ввод на внешнем интерфейсе и libphonenumber-для-php на бэкэнде.

Tpojka 23.05.2019 11:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
413
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

Здесь,

  • ^ - начало позиции строки
  • \+ - буквальное +
  • 63 - подстрока 63.

См. демонстрация регулярных выражений и демонстрация PHP.

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

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

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

if (substr($phone, 0, 1) == '+') {
    $phone = str_replace(substr($phone, 0, 3), '0', $phone);
}

$phone_number = $phone;

Другие вопросы по теме