note 84621 added to function.str-pad
| From: | albert dot serra at camaleongroup dot com | Date: | Tue, 22 Jul 2008 13:36:47 +0000 |
| Subject: | note 84621 added to function.str-pad | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-142493@lists.php.net to get a copy of this message | ||
<?php
/** Description
* padclear, clear a pad varchar(9) "*****HOME" -> varchar(4) "HOME"
* _no use for INT_ : varchar(5) "00100" -> int(3) "100", use $number =
(int) "00100";
*
* @param string, string original
* @param char, character to replace
* @param charreplace, final character
* @param type, [STR_PAD_RIGHT|STR_PAD_LEFT] see str_pad
* @return string, transformed string with charreplace
*/
function padclear($string, $char, $charreplace = null,$type = STR_PAD_RIGHT) {
$strlen = strlen($string) - 1;
$i = ($type == STR_PAD_RIGHT) ? 0 : $strlen;
$stop = ($type == STR_PAD_RIGHT) ? $strlen : 0;
$difpos = null;
while(is_null($difpos) && $i != $stop) {
$difpos = ($string[$i] != $char) ? $i : null;
if($type == STR_PAD_RIGHT) $i++;
else $i--;
}
if($type == STR_PAD_RIGHT) {
$ant = str_replace($char,$charreplace,substr($string,0,$difpos));
$nxt = substr($string,$difpos,$strlen);
} else {
$ant = substr($string,0,$difpos);
$nxt = str_replace($char,$charreplace,substr($string,$difpos,$strlen));
}
return $ant . $nxt;
}
$string = "HOME*******";
echo padclear($string,'*','',STR_PAD_LEFT); // HOME
$string = "*****HOME";
echo padclear($string,'*','',STR_PAD_RIGHT); // HOME
?>
----
Server IP: 80.64.47.13
Probable Submitter: 84.78.243.31
----
Manual Page -- http://www.php.net/manual/en/function.str-pad.php
Edit -- https://master.php.net/note/edit/84621
Del: integrated -- https://master.php.net/note/delete/84621/integrated
Del: useless -- https://master.php.net/note/delete/84621/useless
Del: bad code -- https://master.php.net/note/delete/84621/bad+code
Del: spam -- https://master.php.net/note/delete/84621/spam
Del: non-english -- https://master.php.net/note/delete/84621/non-english
Del: in docs -- https://master.php.net/note/delete/84621/in+docs
Del: other reasons-- https://master.php.net/note/delete/84621
Reject -- https://master.php.net/note/reject/84621
Search -- https://master.php.net/manage/user-notes.php