42 public static function wordWrap($string, $width = 75, $break =
"\n", $cut =
false, $charset =
'utf-8')
44 $stringWidth = iconv_strlen($string, $charset);
45 $breakWidth = iconv_strlen($break, $charset);
47 if (strlen($string) === 0) {
49 }
elseif ($breakWidth ===
null) {
51 }
elseif ($width === 0 && $cut) {
56 $lastStart = $lastSpace = 0;
58 for ($current = 0; $current < $stringWidth; $current++) {
59 $char = iconv_substr($string, $current, 1, $charset);
61 if ($breakWidth === 1) {
62 $possibleBreak = $char;
64 $possibleBreak = iconv_substr($string, $current, $breakWidth, $charset);
67 if ($possibleBreak === $break) {
68 $result .= iconv_substr($string, $lastStart, $current - $lastStart + $breakWidth, $charset);
69 $current += $breakWidth - 1;
70 $lastStart = $lastSpace = $current + 1;
72 if ($current - $lastStart >= $width) {
73 $result .= iconv_substr($string, $lastStart, $current - $lastStart, $charset) . $break;
74 $lastStart = $current + 1;
77 $lastSpace = $current;
78 }
elseif ($current - $lastStart >= $width && $cut && $lastStart >= $lastSpace) {
79 $result .= iconv_substr($string, $lastStart, $current - $lastStart, $charset) . $break;
80 $lastStart = $lastSpace = $current;
81 }
elseif ($current - $lastStart >= $width && $lastStart < $lastSpace) {
82 $result .= iconv_substr($string, $lastStart, $lastSpace - $lastStart, $charset) . $break;
83 $lastStart = $lastSpace = $lastSpace + 1;
87 if ($lastStart !== $current) {
88 $result .= iconv_substr($string, $lastStart, $current - $lastStart, $charset);
104 public static function strPad($input, $padLength, $padString =
' ', $padType = STR_PAD_RIGHT, $charset =
'utf-8')
107 $lengthOfPadding = $padLength - iconv_strlen($input, $charset);
108 $padStringLength = iconv_strlen($padString, $charset);
110 if ($padStringLength === 0 || $lengthOfPadding <= 0) {
113 $repeatCount = floor($lengthOfPadding / $padStringLength);
115 if ($padType === STR_PAD_BOTH) {
116 $lastStringLeft =
'';
117 $lastStringRight =
'';
118 $repeatCountLeft = $repeatCountRight = ($repeatCount - $repeatCount % 2) / 2;
120 $lastStringLength = $lengthOfPadding - 2 * $repeatCountLeft * $padStringLength;
121 $lastStringLeftLength = $lastStringRightLength = floor($lastStringLength / 2);
122 $lastStringRightLength += $lastStringLength % 2;
124 $lastStringLeft = iconv_substr($padString, 0, $lastStringLeftLength, $charset);
125 $lastStringRight = iconv_substr($padString, 0, $lastStringRightLength, $charset);
127 $return = str_repeat($padString, $repeatCountLeft) . $lastStringLeft
129 . str_repeat($padString, $repeatCountRight) . $lastStringRight;
131 $lastString = iconv_substr($padString, 0, $lengthOfPadding % $padStringLength, $charset);
133 if ($padType === STR_PAD_LEFT) {
134 $return = str_repeat($padString, $repeatCount) . $lastString . $input;
136 $return = $input . str_repeat($padString, $repeatCount) . $lastString;
elseif(isset( $params[ 'redirect_parent']))
static wordWrap($string, $width=75, $break="\n", $cut=false, $charset='utf-8')
static strPad($input, $padLength, $padString=' ', $padType=STR_PAD_RIGHT, $charset='utf-8')