104 protected static function mb_str_pad($string, $padLength, $padString =
" ", $padType = STR_PAD_RIGHT)
106 if (method_exists(
"\Bitrix\Main\Text\UtfSafeString",
"pad"))
108 return \Bitrix\Main\Text\UtfSafeString::pad($string, $padLength, $padString, $padType);
112 $newPadLength = strlen($string) - mb_strlen($string) + $padLength;
114 return str_pad($string, $newPadLength, $padString, $padType);
126 protected static function reduceString($string, $currLength, $needLength)
128 if ($currLength <= $needLength)
133 $cropLength = $currLength - $needLength + mb_strlen(self::END_STRING);
134 $substrLength = mb_strlen($string) - $cropLength;
138 if($substrLength <= 0 )
140 $maxSpecialCharLength = 1;
141 foreach(self::$specialCharsLength as $char)
143 $maxSpecialCharLength = max($maxSpecialCharLength, $char[
'count']);
146 $substrLength = floor($needLength / $maxSpecialCharLength);
149 return mb_substr($string, 0, $substrLength).self::END_STRING;