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_url($str) {
49 return format_oneline($str);
52 function format_money($str, $display_cents = true) {
53 $str = ereg_replace('[^0-9.]', '', $str);
55 $int = (int)($str * 100);
57 $cents = sprintf('.%02d', $cents);
58 $int = (int)($str); # go from the source again, so we can print numbers above 2M without cents.
63 $chars = (string)$int;
66 $index = strlen($chars);
72 $output = ',' . $output;
74 $char = substr($chars, $index, 1);
75 $output = $char . $output;
77 $output = '$' . $output . $cents;
81 function format_dollars($str) {
82 return format_money($str, false);
85 function format_phone($str) {
86 $str = ereg_replace('[^0-9]', '', $str);
87 $str = ereg_replace('^1*', '', $str);
91 if($len < 10 && $len != 7) {
92 #NOT A VALID PHONE NUMBER
97 $output = ' ext: ' . substr($str, 10);
102 $area = substr($str, 0, 3);
103 $str = substr($str, 3);
106 $output = substr($str, 3) . $output;
107 $output = substr($str, 0, 3) . '-' . $output;
110 $output = "($area) " . $output;
117 #function ftest($val) {
118 # printf("$val: '%s'<br />\n", format_phone($val, true));
121 #echo "FORMAT TESTS<br><br>";
129 #ftest("1158221234");
130 #ftest("1558221234");
131 #ftest("12235513234");
132 #ftest("122355123334");
133 #ftest("1585552212334");
134 #ftest("15855522123334");