Я обычно справлялся с этим, используя комбинацию word-wrap
и <wbr>
. Обратите внимание, что есть несколько вариантов . как видите, ​
, вероятно, является лучшим выбором для совместимости.
word-wrap
поддержка браузера не ужасна , учитывая все обстоятельства, Safari, Internet Explorer и Firefox 3.1 (Alpha Build) все поддерживают его ( src ), поэтому мы может быть не так уж далеко.
Что касается поломки на стороне сервера, я довольно успешно использовал этот метод (php):
function _wordwrap($text) {
$split = explode(" ", $text);
foreach($split as $key=>$value) {
if (strlen($value) > 10) {
$split[$key] = chunk_split($value, 5, "​");
}
}
return implode(" ", $split);
}
По сути, для слов длиной более 10 символов я разделил их на 5 символов каждое. Кажется, это работает для всех случаев использования, которые мне передали.