正在开发一个PHP应用程序,我有一个这种格式的电话号码+259890111*** ,,现在正在使用substr_replace()
将+
和259
替换为0
,以便输出可以是:0**890111***
。
$number = '+259890111***';
$new_number = substr_replace($number, '0', 0, ($number == '+259'));
使用 str_replace()
(正如 OP 所说it will always be +259
<?php
$number = '+259890111***';
echo $new_number = str_replace('+259', '0', $number);
https://3v4l.org/gQ8NT
注意:- 如果数字可以不同,但始终是 3 位数字以及+
请执行以下操作:
$number = '+249890111***';
echo $new_number = substr_replace($number, 0, 0, 3);
输出:https://3v4l.org/jOuCK
根据 OP,字符串开头始终为 +259。
所以我们甚至可以使用 substr。
echo "0" . substr($number, 4);
如果要使用正则表达式,请将preg_replace
与正则表达式一起使用/^+259/
,仅当+259
位于字符串的开头时才将其替换为0
。
-
^
- 字符串的开头 -
+
- 文字+
-
259
- 要替换的数字
$result = preg_replace("/^+259/", "0", $number);
- https://3v4l.org/b5m2O 现场演示
不过,您可以将str_replace()
与 +259
一起使用,因为该数字永远不会包含非数字,除了开头的+259
。
$result = str_replace("+259", "0", $number);
- https://3v4l.org/aJ38G 现场演示