2012-04-15 9 views
1

Ich habe ein Datenbankfeld namens customer_phone, die so gespeichert wird, wie es eingegeben wurde. Es wird nun wie folgt aus der Datenbank auf einer Berichtsseite angezeigt:Format und Anzeige einer Telefonnummer auf einer Berichtsseite in PHP

print "Phone: $customer_phone<br>"; 

Ich mag die Daten aus dem Datenbankfeld bekommen, Streifen aus keinen zusätzlichen Zeichen, wenn ein nur Zahlen (zB: xxx-xxx-xxxx-xxxxxxxxxx) und es dann in diesem Format auf der Seite angezeigt werden:

(xxx) xxx-xxxx 

ich diese Funktion Skripte zu tun gefunden habe, aber nicht in der Lage gewesen, sie zur Arbeit zu kommen.

Ich muss die Daten aus dem Datenbankfeld abrufen, neu formatieren und auf der Seite anzeigen.

Ich bin ein PHP Newby und würde jede Hilfe zu schätzen wissen.

Antwort

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

Danke, das hat super funktioniert. – user1334831

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]}"; 
} 

Es gibt eine Funktion zu tun, wie Sie gefragt, nennen Sie es wie

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

Das hat perfekt funktioniert. Ich danke dir sehr! – user1334831

+0

Kein Problem, wenn Sie so nett sind, einen Gewinner zu entscheiden und eine Antwort zu akzeptieren, würden wir uns freuen :) – Dale

Verwandte Themen