note 60548 modified in function.substr by danbrown

From: Date: Fri, 28 Nov 2008 20:22:03 +0000
Subject: note 60548 modified in function.substr by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-147203@lists.php.net to get a copy of this message
Add on to (a function originally written by) "Matias from Argentina": str_format_number function. Just added handling of $String shorter then $Format by adding a side to start the fill and a string length to the while loop. <?php function str_format_number($String, $Format, $Start = 'left'){ //If we want to fill from right to left incase string is shorter then format if ($Start == 'right') { $String = strrev($String); $Format = strrev($Format); } if($Format == '') return $String; if($String == '') return $String; $Result = ''; $FormatPos = 0; $StringPos = 0; while ((strlen($Format) - 1) >= $FormatPos && strlen($String) > $StringPos) { //If its a number => stores it if (is_numeric(substr($Format, $FormatPos, 1))) { $Result .= substr($String, $StringPos, 1); $StringPos++; //If it is not a number => stores the caracter } else { $Result .= substr($Format, $FormatPos, 1); } //Next caracter at the mask. $FormatPos++; } if ($Start == 'right') $Result = strrev($Result); return $Result; } ?> --was-- Add on to "Matias from Argentina" str_format_number function. Just added handling of $String shorter then $Format by adding a side to start the fill and a string length to the while loop. function str_format_number($String, $Format, $Start = 'left'){ //If we want to fill from right to left incase string is shorter then format if ($Start == 'right') { $String = strrev($String); $Format = strrev($Format); } if($Format == '') return $String; if($String == '') return $String; $Result = ''; $FormatPos = 0; $StringPos = 0; while ((strlen($Format) - 1) >= $FormatPos && strlen($String) > $StringPos) { //If its a number => stores it if (is_numeric(substr($Format, $FormatPos, 1))) { $Result .= substr($String, $StringPos, 1); $StringPos++; //If it is not a number => stores the caracter } else { $Result .= substr($Format, $FormatPos, 1); } //Next caracter at the mask. $FormatPos++; } if ($Start == 'right') $Result = strrev($Result); return $Result; } http://php.net/manual/en/function.substr.php

« previous php.notes (#147203) next »