public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
{
$subject = $arguments['subject'];
if (true === empty($subject)) {
$subject = $renderChildrenClosure();
}
$limit = (int) $arguments['limit'];
$break = $arguments['break'];
$glue = $arguments['glue'];
$subject = preg_replace('/ +/', ' ', $subject);
$subject = str_replace(array("\r\n", "\r"), PHP_EOL, $subject);
$subject = wordwrap($subject, $limit, $break, false);
$output = '';
foreach (explode($break, $subject) as $line) {
if (mb_strlen($line) <= $limit) {
$output .= $line . $glue;
continue;
}
$temp = '';
while (mb_strlen($line) > $limit) {
$temp .= mb_substr($line, 0, $limit - 1);
$line = mb_substr($line, $limit - 1);
}
if (false === empty($temp)) {
$output .= $temp . $glue . $line . $glue;
} else {
$output .= $line . $glue;
}
}
return $output;
}