如何在 php 中将电话号码转换为美式电话号码

  • 本文关键字:电话号码 转换 美式 php php
  • 更新时间 :
  • 英文 :


我有一个用连字符打乱的电话号码。我想通过删除不需要的连字符并使用 php 添加必要的连字符来将此电话号码转换为美国格式。例如

$phone=123--45-6-4523;

我想把上面的内容交给

$phone=123-456-4523;
$phone="123--45-6-4523";
$phone = str_replace("-", "", $phone);// remove all the dashes
$phone = substr($phone, 0,3) . "-" .  // add the two dashes in the right places
         substr($phone, 3,3) . "-" . substr($phone, 6);
echo $phone;

输出

123-456-4523
<?php
$phone=123--45-6-4523;
$phone=str_split(str_ireplace('-','',$phone));
$c=0;
$no='';
foreach($phone as $a)
{
if($c==2||$c==5)
$no.='-';
$no.=$a
c++;
}
?>

希望对您有所帮助。

$phone="123--45-6-4523";
$phone=str_replace("-","",$phone);
$american_phone="";
for ($i=0;$i<strlen($phone);$i++)
{
$american_phone.=$phone[$i];
if ($i==2 || $i==5)
$american_phone.="-";
}
echo $american_phone;

我正在删除连字符,然后在第 2 位和第 3 位和第 6 位数字后添加 6 个连字符。我不知道美国人的数字。如果您需要其他内容,请指定...

preg_replace('/^(d{3})[-]*(d{3})[-]*(d{4})$/i', '$1-$2-$3', '123--456-4523');

这解决了上述情况,但如果有更多,请尝试修改正则表达式。

最新更新