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_oneline($str) {
26 $str = str_replace("\r", '', $str);
27 return str_replace("\n", '', $str);
30 function format_unix($str) {
31 return unix_newlines($str);
34 function format_yesno($str) {
42 function format_email($str) {
44 return format_oneline($str);
47 function format_money($str, $display_cents = true) {
48 $str = ereg_replace('[^0-9.]', '', $str);
50 $int = (int)($str * 100);
52 $cents = sprintf('.%02d', $cents);
53 $int = (int)($str); # go from the source again, so we can print numbers above 2M without cents.
58 $chars = (string)$int;
61 $index = strlen($chars);
67 $output = ',' . $output;
69 $char = substr($chars, $index, 1);
70 $output = $char . $output;
72 $output = '$' . $output . $cents;
76 function format_dollars($str) {
77 return format_money($str, false);
80 function format_phone($str) {
81 $str = ereg_replace('[^0-9]', '', $str);
82 $str = ereg_replace('^1*', '', $str);
86 if($len < 10 && $len != 7) {
87 #NOT A VALID PHONE NUMBER
92 $output = ' ext: ' . substr($str, 10);
97 $area = substr($str, 0, 3);
98 $str = substr($str, 3);
101 $output = substr($str, 3) . $output;
102 $output = substr($str, 0, 3) . '-' . $output;
105 $output = "($area) " . $output;
112 #function ftest($val) {
113 # printf("$val: '%s'<br />\n", format_phone($val, true));
116 #echo "FORMAT TESTS<br><br>";
124 #ftest("1158221234");
125 #ftest("1558221234");
126 #ftest("12235513234");
127 #ftest("122355123334");
128 #ftest("1585552212334");
129 #ftest("15855522123334");