Re: [WD]: PHP Question - any help is appreciated

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dylan Barber wrote:
I am needing to provide back a fixed length file out of a shopping
cart system - I can create the file but does anybody have a simple
function to pad or truncate a string to a certain length?


Use sprintf() to format your string.

$len = 20 //the length you want
$str = 'abcde';

The following says to pad the string with the character x to a final length of $len characters or to trim the string to $len characters. The % is simply there to show that the argument is a formatting instruction. The "'x" says to use an x as the padding character (default is a space). The s informs that we're performing this on a string, as opposed to a number.

echo sprintf("%'x${len}.${len}s", $str);
xxxxxxxxxxxxxxxabcde


This one will add the padding to the end (note the minus sign):

echo sprintf("%-'x${len}.${len}s", $str);
abcdexxxxxxxxxxxxxxx


If you want the default space, use:

echo sprintf("%${len}.${len}s", $str);
               abcde


Truncate:

$str = 'abcdefghijklmnopqrstuvwxyz';
echo sprintf("%'x${len}.${len}s", $str);
abcdefghijklmnopqrst


You probably want to assign this to a variable so, instead of using echo, do:

$padded = sprintf("%'x${len}.${len}s", $str);

HTH
brian

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux