У меня была аналогичная проблема. С одной стороны наджо была не дать злым хакерам вставлять длинное-длинное слово и портить вид таблицы, с другой - надо было не разбивать длинные слова. В результате я разбиваю текст на слова и проверяю размер каждого(понятно, что 90 и 55 - это под размеры моей таблицы
):
Код:
function string_display_value($value, $n=90) {
// вставляем разбиение длинного текста на слова
$words = explode (" ", $value);
$new_value='';
while (list ($key, $val) = each ($words)) {
if(strlen($val) > 55) // если длина одного слова...
$val = wordwrap($val, $n, "\n", 1);
$new_value.=$val. ' ';
}
return $value == '' ? '<br>' : htmlspecialchars($new_value);
}