格式化并在PHP的报告页面上显示电话号码

时间:2012-04-15 17:41:32

标签: php phone-number

我有一个名为customer_phone的数据库字段,该字段在输入时存储。它现在从数据库显示在报告页面上,如下所示:

print  "Phone: $customer_phone<br>";

我想从数据库字段中获取数据,删除任何额外的字符(如果有的话只是数字(例如:xxx-xxx-xxxxxxxxxxxxxx),然后将其显示在此页面上格式:

(xxx) xxx-xxxx

我发现函数脚本可以执行此操作,但无法使它们正常工作。

我需要从数据库字段中获取数据,重新格式化并在页面上显示它。

我是一名PHP新手,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:14)

function format_telephone($phone_number)
{
    $cleaned = preg_replace('/[^[:digit:]]/', '', $phone_number);
    preg_match('/(\d{3})(\d{3})(\d{4})/', $cleaned, $matches);
    return "({$matches[1]}) {$matches[2]}-{$matches[3]}";
}

有一个功能要做,就像你问的那样,把它叫做

<?php echo format_telephone($customer_phone); ?>

答案 1 :(得分:3)

$phone_number= preg_replace('/[^0-9]+/', '', $phone_number); //Strip all non number characters
echo preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "($1) $2-$3", $phone_number) //Re Format it