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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php