Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中将电话号码转换为美国格式的电话号码?_Php - Fatal编程技术网

如何在php中将电话号码转换为美国格式的电话号码?

如何在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) . "-

我有一个带有连字符的电话号码。我想通过删除不需要的连字符并使用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
$phone=“123--45-6-4523”;
$phone=str_替换(“-”、“”、$phone);
$american_phone=“”;
对于($i=0;$i)

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

我建议您自己尝试解决编码问题。如果编码问题不起作用,请在此处发布您的最佳尝试,并解释您遇到的问题。
123-456-4523
$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;
preg_replace('/^(\d{3})[-]*(\d{3})[-]*(\d{4})$/i', '$1-$2-$3', '123--456-4523');