Нужно разбить длинную строку, введённую пользователем, чтобы дизайн не пополз. Делаю так: PHP: <? $message = wordwrap($message, 20, ' ', 1); Или даже так: PHP: <? $message_array = explode(' ', $message); for ($i=0; $i < count($message_array); $i++) { if (strlen($message_array[$i]) > 20) { $message_array[$i] = chunk_split($message_array[$i], '20', ' '); } } $message = implode(' ', $message_array); Строка-то разбивается, но при необходимости не переносится на другую строчку, так разбитай строка и остаётся на одной строке.
Сейчас проверил, строку типа ооооооооооооооооооооооооооооооооооооо переводит, а привет!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! так и остаётся на одной строке привет!!!!!!!!!! !!!!!!!!!!!!! !!!!!!!!!!!!!! !!!!!!!!!!! словно, вставленный в тег <nobr>.
Хм... обычно не переводит, если пробелы -- это Может проблема в том, что у блока не заданы размеры?
Лучше уж помогли бы. Для наглядности посмотрите, как себя ведёт строка со знаками восклицания (вопроса, точек) и знаками равно или простым повторением букв. PHP: <? $str = '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'; $str = wordwrap($str, 20, ' ', 1); ?> <table width="200" border="1"> <tr> <td><?=$str;?></td> </tr> </table>