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_int($str) {
26 $str = ereg_replace('[^0-9]', '', $str);
27 return ereg_replace('^0*([1-9])', '\1', $str);
30 function format_oneline($str) {
31 $str = str_replace("\r", '', $str);
32 return str_replace("\n", '', $str);
35 function format_unix($str) {
36 return unix_newlines($str);
39 function format_yesno($str) {
47 function format_email($str) {
49 return format_oneline($str);
52 function format_url($str) {
54 return format_oneline($str);
57 function format_money($str, $display_cents = true) {
58 $str = ereg_replace('[^0-9.]', '', $str);
60 $int = (int)($str * 100);
62 $cents = sprintf('.%02d', $cents);
63 $int = (int)($str); # go from the source again, so we can print numbers above 2M without cents.
68 $chars = (string)$int;
71 $index = strlen($chars);
77 $output = ',' . $output;
79 $char = substr($chars, $index, 1);
80 $output = $char . $output;
82 $output = '$' . $output . $cents;
86 function format_dollars($str) {
87 return format_money($str, false);
90 function format_phone($str) {
91 $str = ereg_replace('[^0-9]', '', $str);
92 $str = ereg_replace('^1*', '', $str);
96 if($len < 10 && $len != 7) {
97 #NOT A VALID PHONE NUMBER
102 $output = ' ext: ' . substr($str, 10);
107 $area = substr($str, 0, 3);
108 $str = substr($str, 3);
111 $output = substr($str, 3) . $output;
112 $output = substr($str, 0, 3) . '-' . $output;
115 $output = "($area) " . $output;
122 #function ftest($val) {
123 # printf("$val: '%s'<br />\n", format_phone($val, true));
126 #echo "FORMAT TESTS<br><br>";
134 #ftest("1158221234");
135 #ftest("1558221234");
136 #ftest("12235513234");
137 #ftest("122355123334");
138 #ftest("1585552212334");
139 #ftest("15855522123334");