note 58774 added to function.str-pad

From: Date: Tue, 15 Nov 2005 16:43:50 +0000
Subject: note 58774 added to function.str-pad
Groups: php.notes 
Request: Send a blank email to php-notes+get-98619@lists.php.net to get a copy of this message
Hello, i updated the function in my last post. it should be much more performant now. <?php $string = 'this is a test'; $oldLen = strlen($string); $direction = STR_PAD_BOTH; echo $string.'<br>'; echo str_const_len($string, 101, '#', $direction).'<br>'; echo $string.'<br>'; echo str_const_len($string, $oldLen, '#', $direction).'<br>'; echo $string.'<br><br>'."\n"; /* This function is an extension to str_pad, it manipulates the referenced string '$str' and stretches or reduces it to the specified length. It returns the number of characters, that were added or stripped. */ function str_const_len(&$str, $len, $char = ' ', $str_pad_const = STR_PAD_RIGHT) { $origLen = strlen($str); if (strlen($str) < $len) { /* stretch string */ $str = str_pad($str, $len, $char, $str_pad_const); } else { /* reduce string */ switch ($str_pad_const) { case STR_PAD_LEFT: $str = substr($str, (strlen($str) - $len), $len); break; case STR_PAD_BOTH: $shorten = (int) ((strlen($str) - $len) / 2); $str = substr($str, $shorten, $len); break; default: $str = substr($str, 0, $len); break; } } return ($len - $origLen); } ?> ---- Manual Page -- http://www.php.net/manual/en/function.str-pad.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+58774 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+58774&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+58774&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#98619) next »