X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=format.php;h=f395491bcb0b67fdd0128b2bbb99a8ddec876dbd;hb=8ef1f36849dc9f50ad2d5c19bef126ab3c9e454b;hp=900e781ac6bdb467c314bc9221fe294c9fa23d01;hpb=856f805c6cbb6e712c662214f3b5821442f808a0;p=wfpl.git diff --git a/format.php b/format.php index 900e781..f395491 100644 --- a/format.php +++ b/format.php @@ -45,7 +45,7 @@ function format_int($str) { return ereg_replace('^0*([0-9])', '\1', $str); } -function format_decimal($str) { +function format_positive_decimal($str) { $str = ereg_replace('[^0-9.]', '', $str); $pos = strpos($str, '.'); if($pos !== false) { @@ -61,6 +61,19 @@ function format_decimal($str) { return $str; } +function format_decimal($str) { + $str = ereg_replace('[^0-9.-]', '', $str); + if(substr($str, 0, 1) == '-') { + $str = format_positive_decimal(substr($str, 1)); + if($str !== '' && $str !== '0' && $str != '0.0') { + $str = '-' . $str; + } + return $str; + } else { + return format_positive_decimal($str); + } +} + # return 0 of there's no digits function format_int_0($str) { $str = format_int($str); @@ -143,8 +156,14 @@ function format_email($str) { } function format_url($str) { - # FIXME - return format_oneline($str); + # FIXME check for TLD? encode special chars? + $str = trim(format_oneline($str)); + if($str !== '') { + if(strpos($str, ':') === false) { + $str = 'http://' . $str; + } + } + return $str; } function format_money($str, $display_cents = true) {