Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$length = "100"; # Указываем сколько нужно
@array = split(/\s+/, $_[0]);
$_[1] = @array;
foreach $element(@array) {
$element_end = (length($element) > $length) ? "..." : "";
$element = substr($element, 0, $length).$element_end;
}
$_[0] = join (" ", @array);
[^\s]{512,}? Что это ещё такое? \S{512,} не пробовали?preg_replace('/([^\s]{30})[^\s]+/', '$1...', $string)
Очень длинные слова — что делать?