如何删除PHP中的第一个数字
How to delete the first digit number in PHP
我有一个 phone 数字的数据以 +63 和 09
开头
例如用户输入 09123456789 然后保存。如果用户输入 +639123456789 应该不会成功,因为它完全是同一个数字。
我尝试使用 substr_replace
$data3 = substr_replace("+63", "0",0, 3);
还有其他选择吗?我认为 substr_replace 将来会出错。
谢谢
如果 +63
必须在开头,您可以使用 preg_replace
如
$s = preg_replace('~^\+63~', '0', $s);
这里,
^
- 字符串位置的开始
\+
- 文字 +
63
- 63
子串。
参见regex demo and a PHP demo。
如果您需要清理和验证国际 phone 号码,请也考虑 to use a combination of intl-tel-input on front-end and libphonenumber-for-php back-end。
在这种情况下,你可以有一个条件来检查并有 str_replace
如果您的请求中有 +
,则删除前 3 个字母,包括 +
if (substr($phone, 0, 1) == '+') {
$phone = str_replace(substr($phone, 0, 3), '0', $phone);
}
$phone_number = $phone;
我有一个 phone 数字的数据以 +63 和 09
开头例如用户输入 09123456789 然后保存。如果用户输入 +639123456789 应该不会成功,因为它完全是同一个数字。
我尝试使用 substr_replace
$data3 = substr_replace("+63", "0",0, 3);
还有其他选择吗?我认为 substr_replace 将来会出错。
谢谢
如果 +63
必须在开头,您可以使用 preg_replace
如
$s = preg_replace('~^\+63~', '0', $s);
这里,
^
- 字符串位置的开始\+
- 文字+
63
-63
子串。
参见regex demo and a PHP demo。
如果您需要清理和验证国际 phone 号码,请也考虑
在这种情况下,你可以有一个条件来检查并有 str_replace
如果您的请求中有 +
,则删除前 3 个字母,包括 +
if (substr($phone, 0, 1) == '+') {
$phone = str_replace(substr($phone, 0, 3), '0', $phone);
}
$phone_number = $phone;