PHP или HTML / CSS решение для принудительного переноса строк в таблице - PullRequest
4 голосов
/ 04 декабря 2010

У меня есть таблица, заполненная сгенерированным пользователем текстом. Текст занимает столько, сколько позволяет TD, однако, если ввод представляет собой строку, состоящую из длинной строки без разрывных символов (пробел, тире и т. Д.), Он портит таблицу.

например. ggggggggggggggggggggggggggggggggggggggggggggggggggggg

Как сделать так, чтобы эти строки тоже были обернуты?

Спасибо.

Ответы [ 2 ]

9 голосов
/ 04 декабря 2010

Вы можете использовать CSS:

table {
    table-layout: fixed;
    width: 100%;
}

table td, table th {
    word-wrap: break-word;       /* Internet Explorer 5.5+, Chrome, Firefox 3+ */
    overflow-wrap: break-word;   /* CSS3 standard: Chrome & Opera 2013+ */
}

/* Use this if you also want to preserve multiple spaces in text */
table td, table th {
    white-space: -moz-pre-wrap;  /* Firefox 1.0-2.0 */
    white-space: -pre-wrap;      /* Opera 4-6 */
    white-space: -o-pre-wrap;    /* Opera 7 */
    white-space: pre-wrap;       /* CSS3 */
}

Вот пример: http://www.jsfiddle.net/QPP8A/ (устарел), вы можете использовать PHP функцию WordWrap :

$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");
3 голосов
/ 04 декабря 2010

попробуйте это решение jquery, оно сломает текст после определенного количества букв:

http://plugins.jquery.com/project/Word-Break

Вы можете использовать его следующим образом.

...