用条件PHP替换某些字符

时间:2015-08-11 08:15:27

标签: php string format substring

我正在使用PHP开展工作。我想根据遇到的条件更改一些字符。我有一个循环通过一系列电话号码循环。它可以获得的值有两种可能的格式,+447532221414447532221414。我想要做的只是将+4444替换为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

1 个答案:

答案 0 :(得分:6)

您可以使用10:07:23 INFO main o.a.c.h.Http11NioProtocol Initializing ProtocolHandler ["http-nio-192.168.2.63-8080"]

preg_replace

正则表达式意味着什么:

$phone = "+447532221444"; $phone = preg_replace('/^\+?44/', '0', $phone); var_dump($phone); - 将强制解析器仅替换在字符串开头找到的匹配

^ - 将匹配\+?(如果存在),但如果+缺失则解析器将继续