"Felipe Desiderati" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>I need a simple function that takes a string and formats
> with a generic mask. Like this example above:
>
>$string1 = "12345678"
>$string2 = "11062003"
>
>echo format_string ("#.###.###-#", $string1); // --> Returns 1.234.567-8
>echo format_string ("##/##/####", $string1); // --> Returns 11/06/2003
>
>Does anybody here have an idea to how to do this?
Here is a function that does what you want, with
a test stand. HTH!
<?php
function format_string($mask, $contents, $ch = '#') {
$c = 0;
$str = "";
for($m = 0; $m < strlen($mask); $m++)
if ($mask[$m] == $ch) {
$str .= $contents[$c];
$c++;
}
else
$str .= $mask[$m];
return($str);
}
?>
<html>
<body>
<form action="mask.php" method="get">
Mask: <input type="text" name="mask" value="<?php echo
$_GET['mask']; ?>"/><br/>
Content: <input type="text" name="cont" value="<?php echo
$_GET['cont']; ?>"/><br/>
Maskchar: <input type="text" name="ch" value="<?php echo
$_GET['ch']; ?>"/><br/>
<input type="submit">
</form>
<b>Result:</b> <?php echo format_string($_GET['mask'], $_GET['cont'],
$_GET['ch']); ?><br/>
</body>
</html>
--
Hugh Bothwell [EMAIL PROTECTED] Kingston ON Canada
v3.1 GCS/E/AT d- s+: a- C+++ L++>+++$ P+ E- W+++$ N++ K? w++ M PS+
PE++ Y+ PGP+ t-- 5++ !X R+ tv b++++ DI+++ D-(++) G+ e(++) h-- r- y+
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php