Skip to content

Commit 8946145

Browse files
Merge pull request #56 from wp-cli/safe-str-pad
Encoding-safe string padding
2 parents c345248 + d93a4c8 commit 8946145

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

lib/cli/Colors.php

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,6 @@ static public function length($string) {
178178
* @return string
179179
*/
180180
static public function pad($string, $length) {
181-
$real_length = safe_strlen($string);
182-
$show_length = self::length($string);
183-
$diff = strlen( $string ) - safe_strlen( $string );
184-
$length += $real_length - $show_length + $diff;
185-
186-
return str_pad($string, $length);
181+
return safe_str_pad( $string, $length );
187182
}
188183
}

lib/cli/cli.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,3 +160,19 @@ function menu( $items, $default = null, $title = 'Choose an item' ) {
160160
function safe_strlen( $str ) {
161161
return mb_strlen( $str, mb_detect_encoding( $str ) );
162162
}
163+
164+
/**
165+
* An encoding-safe way of padding string length
166+
*
167+
* @param string $string The string to pad
168+
* @param int $length The length to pad it to
169+
* @return string
170+
*/
171+
function safe_str_pad( $string, $length ) {
172+
$real_length = safe_strlen($string);
173+
$show_length = Colors::length($string);
174+
$diff = strlen( $string ) - safe_strlen( $string );
175+
$length += $real_length - $show_length + $diff;
176+
177+
return str_pad($string, $length);
178+
}

0 commit comments

Comments
 (0)