Re: Formating

From: Date: Thu, 07 Jul 2005 16:31:24 +0000
Subject: Re: Formating
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-218300@lists.php.net to get a copy of this message
Hi Richard, On Jul 5, 2005, at 6:20 PM, Richard Lynch wrote:
On Mon, July 4, 2005 6:48 pm, Bruno B B Magalhães said:
For example I have a brazilian zipcode witch is stored in database as
Is she a Good Witch, or a Bad Witch? :-)
Ups, hehehehe!
22252970 and must be formatted as NNNNN-NNN, where N is a number. Also I have a tax id with is also stored as numeric value only, for example 05117635472 and outputted as NNN.NNN.NNN-NN... Is that any way that I can do it generic, storing the formatting strings ('NNNNN- NNN') with languages strings, so it is localised and this would be parsed as: string::format($string, $format);
//Untested code: function format($string, $format){ $slen = strlen($string); $flen = strlen($format); $result = ''; for ($f = 0, $s = 0; $f <= $flen && $s <= $slen; $f++){
    $fc = $format[$f];
    $sc = $string[$s];
    switch($fc){
      case 'N':
        if (!strstr('0123456789', $sc)){
          //Suitable error for mal-formed data here.
          //$fc should be a digit, but it's not.
        }
        $result .= $sc;
        $s++;
      break;
      //Assume you need 'C'haracter data at some point in the future:
      case 'C':
        if (!stristr('abcdefghijklmnopqrstuvwxyz', $fc)){
          //more error-code (see above)
        }
        $result .= $sc;
        $s++;
      break;
      default:
        $result .= $fc;
      break;
    }
} return $result; } I also don't think you want to tie it into "Locale" unless the data itself is tagged with Locale, rather than the viewer's Locale. A US zip code is NNNNN[-NNNN] no matter what language you are viewing it in.
I was thinking about that, but for example the dates and times current are formatted language specific.. I was thinking about applying this internationalisation also to those strings and number, but probably as you said that's not a good idea after all. But, either way, MANY thanks for your wonderful help. Regards, Bruno B B Magalhaes

« previous php.general (#218300) next »