note 29637 added to function.sscanf
| From: | sbarnum dot pointsystems at com dot php dot net | Date: | Wed, 19 Feb 2003 19:29:15 +0000 |
| Subject: | note 29637 added to function.sscanf | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-44222@lists.php.net to get a copy of this message | ||
This is a better phone format function than the one above, handles leading zeroes correctly, by
using the "%s" instead of "%d" argument to sscanf(). Again, this function
assumes that the input has been stripped of all non-integer values.
function formatPhone($phone) {
if (empty($phone)) return "";
if (strlen($phone) == 7)
sscanf($phone, "%3s%4s", $prefix, $exchange);
else if (strlen($phone) == 10)
sscanf($phone, "%3s%3s%4s", $area, $prefix, $exchange);
else if (strlen($phone) > 10)
sscanf($phone, "%3s%3s%4s%s", $area, $prefix, $exchange, $extension);
else
return "unknown phone format: $phone";
$out = "";
$out .= isset($area) ? '(' . $area . ') ' : "";
$out .= $prefix . '-' . $exchange;
$out .= isset($extension) ? ' x' . $extension : "";
return $out;
}
--
http://www.php.net/manual/en/function.sscanf.php
http://master.php.net/manage/user-notes.php?action=edit+29637
http://master.php.net/manage/user-notes.php?action=delete+29637
http://master.php.net/manage/user-notes.php?action=reject+29637