2012-04-15 39 views
1

我有一個名爲customer_phone的數據庫字段,它在輸入時存儲。它是這樣顯示的報告頁面上立即從數據庫中:格式並在PHP報告頁面上顯示電話號碼

print "Phone: $customer_phone<br>"; 

我想從數據庫字段中的數據,如果剔除任何額外字符的任意只是數字(例如:xxx-xxx-xxxxxxxxxxxxxx ),然後以這種格式顯示在頁面上:

(xxx) xxx-xxxx 

我發現功能的腳本來做到這一點,但一直沒能得到他們的工作。

我需要從數據庫字段獲取數據,重新格式化並將其顯示在頁面上。

我是一個PHP newby,並希望得到任何幫助。

回答

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 
+0

謝謝,這真是棒極了。 – user1334831 2012-04-15 21:37:32

12
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); ?> 
+0

完美運作。非常感謝! – user1334831 2012-04-15 21:37:06

+0

沒問題,如果你是如此善良,以決定一個勝利者,並接受答案,我們將不勝感激:) – Dale 2012-04-15 21:38:32