3 # Copyright (C) 2005 Jason Woofenden
5 # This file is part of wfpl.
7 # wfpl is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
12 # wfpl is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with wfpl; see the file COPYING. If not, write to the
19 # Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
23 # This file contains basic encodings
25 function format_money($str, $display_cents = true) {
26 $str = ereg_replace('[^0-9.]', '', $str);
28 $int = (int)($str * 100);
30 $cents = sprintf('.%02d', $cents);
31 $int = (int)($str); # go from the source again, so we can print numbers above 2M without cents.
36 $chars = (string)$int;
39 $index = strlen($chars);
45 $output = ',' . $output;
47 $char = substr($chars, $index, 1);
48 $output = $char . $output;
50 $output = '$' . $output . $cents;
54 function format_dollars($str) {
55 return format_money($str, false);
58 function format_phone($str) {
59 $str = ereg_replace('[^0-9]', '', $str);
60 $str = ereg_replace('^1*', '', $str);
64 if($len < 10 && $len != 7) {
65 #NOT A VALID PHONE NUMBER
70 $output = ' ext: ' . substr($str, 10);
75 $area = substr($str, 0, 3);
76 $str = substr($str, 3);
79 $output = substr($str, 3) . $output;
80 $output = substr($str, 0, 3) . '-' . $output;
83 $output = "($area) " . $output;
90 #function ftest($val) {
91 # printf("$val: '%s'<br />\n", format_phone($val, true));
94 #echo "FORMAT TESTS<br><br>";
102 #ftest("1158221234");
103 #ftest("1558221234");
104 #ftest("12235513234");
105 #ftest("122355123334");
106 #ftest("1585552212334");
107 #ftest("15855522123334");