note 116244 added to function.str-pad
| From: | wes at nospamplsexample dot org | Date: | Fri, 28 Nov 2014 18:29:58 +0000 |
| Subject: | note 116244 added to function.str-pad | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-201038@lists.php.net to get a copy of this message | ||
multibyte version:
<?php
function mb_str_pad($str, $pad_len, $pad_str = ' ', $dir = STR_PAD_RIGHT, $encoding =
NULL)
{
$encoding = $encoding === NULL ? mb_internal_encoding() : $encoding;
$padBefore = $dir === STR_PAD_BOTH || $dir === STR_PAD_LEFT;
$padAfter = $dir === STR_PAD_BOTH || $dir === STR_PAD_RIGHT;
$pad_len -= mb_strlen($str, $encoding);
$targetLen = $padBefore && $padAfter ? $pad_len / 2 : $pad_len;
$strToRepeatLen = mb_strlen($pad_str, $encoding);
$repeatTimes = ceil($targetLen / $strToRepeatLen);
$repeatedString = str_repeat($pad_str, max(0, $repeatTimes)); // safe if used with valid utf-8
strings
$before = $padBefore ? mb_substr($repeatedString, 0, floor($targetLen), $encoding) :
'';
$after = $padAfter ? mb_substr($repeatedString, 0, ceil($targetLen), $encoding) : '';
return $before . $str . $after;
}
?>
----
Server IP: 72.52.91.14
Probable Submitter: 87.7.144.223
----
Manual Page -- http://php.net/manual/en/function.str-pad.php
Edit -- https://master.php.net/note/edit/116244
Del: integrated -- https://master.php.net/note/delete/116244/integrated
Del: useless -- https://master.php.net/note/delete/116244/useless
Del: bad code -- https://master.php.net/note/delete/116244/bad+code
Del: spam -- https://master.php.net/note/delete/116244/spam
Del: non-english -- https://master.php.net/note/delete/116244/non-english
Del: in docs -- https://master.php.net/note/delete/116244/in+docs
Del: other reasons-- https://master.php.net/note/delete/116244
Reject -- https://master.php.net/note/reject/116244
Search -- https://master.php.net/manage/user-notes.php