【发布时间】:2015-08-11 08:15:26
【问题描述】:
我正在用 PHP 做一些事情。我想根据满足的条件更改一些字符。我有一个循环通过一系列电话号码的循环。它可以获得的值有两种可能的格式,+447532221414 或 447532221414。我想要做的只是将+44 或44 替换为0
所以我有这个检查
$sub = substr($row["phone"], 0, 3);
if($sub == "+44")
{
$phone = str_replace("+44", "0", $row["phone"]);
}
else if(substr($row["phone"], 0, 2) == "44")
{
$phone = str_replace("44", "0", $row["phone"]);
}
但我的问题是,当数字采用 447532221414 格式时,它不会将 44 更改为 0 代码有什么问题?还是有更好的方法?我的逻辑是否会影响最后两位数有44 的号码?例如。 447532221444
【问题讨论】:
-
所有代码都可以替换为
preg_replace('/^\\+?44/', '0', $row['phone'])。 regular-expressions.info – 只是说... -
你必须使用php函数preg_replace
标签: php string format substring