Подтвердить что ты не робот

Как показать многострочный текст в ячейке таблицы

Я хочу показать абзац из базы данных в ячейку таблицы.

В результате получается большая 1 строка, игнорируя, как она организована в базе данных. игнорирование "входит", например (новые строки)

Я хочу показать его точно в соответствии с тем, как он написан в базе данных.

Например, если абзац сохраняется следующим образом:

hello ,
my name is x.

Я хочу, чтобы это было показано именно так, а не:

hello, myname is x.
4b9b3361

Ответ 1

Вы хотите использовать CSS white-space:pre, применяемый к соответствующему <td>. Чтобы сделать это во всех ячейках таблицы, например:

td { white-space:pre }

В качестве альтернативы, если вы можете изменить свою разметку, вы можете использовать тег <pre> вокруг вашего контента. По умолчанию веб-браузеры используют таблицу стилей пользователя-агента для применения к этому элементу того же правила white-space:pre.

Элемент PRE указывает визуальным пользовательским агентам, что заключенный текст "предварительно отформатирован". При обработке предварительно отформатированного текста визуальные пользовательские агенты:

  • Может оставить пустое место неповрежденным.
  • Может отображать текст шрифтом с фиксированным шагом.
  • Может отключить автоматическое перенос слов.
  • Не следует отключать двунаправленную обработку.

Ответ 2

style="white-space:pre-wrap; word-wrap:break-word"

Это решит проблему новой строки. pre tag добавит дополнительный CSS, чем требуется.

Ответ 3

Оберните содержимое в тег <pre> (предварительно отформатированный текст)

<pre>hello ,
my name is x.</pre>

Ответ 4

Два предложения по решению этой проблемы:

РЕШЕНИЕ 1: <div style="white-space:pre;">{database text}</div> или <pre>{database text}</pre>

Это хорошее решение, если ваш текст не имеет HTML-тегов или свойств CSS. Также позволяет поддерживать вкладки, например.

РЕШЕНИЕ 2. Замените \n на <p></p> or <br/>

Это решение, если вы просто хотите добавить разрывы без потери других свойств текста или форматирования. Примером в php будет $text = str_replace("\n","<br/>",$database_text);

Вы также можете использовать <p></p> или <div></div>, но это требует немного большего разбора текста.

Ответ 5

В своем серверном коде замените новые строки (\n) на <br/>.

Если вы используете PHP, вы можете использовать nl2br()

Ответ 6

Я использую тег html-кода после каждой строки (см. ниже), и он работает для меня.

George Benson </br> 123 Main Street </br> New York, Ny 12344 </br>

Ответ 7

Привет, мне нужно было сделать то же самое! Не спрашивайте, почему, но я генерировал html с использованием python и нуждался в способе циклического перемещения элементов в списке и каждый элемент занимал отдельную строку WITHIN A SINGLE CELL таблицы.

Я обнаружил, что ярлык br работал хорошо для меня. Например:

<!DOCTYPE html>
<HTML>
    <HEAD>
        <TITLE></TITLE>
    </HEAD>
    <BODY>
  <TABLE>
            <TR>
                <TD>
                    item 1 <BR>
                    item 2 <BR>
                    item 3 <BR>
                    item 4 <BR>
                </TD>
            </TR>
        </TABLE>
  </BODY>

Это даст результат, который я хотел.

Ответ 8

приведенный ниже код работает как по волшебству >>

td { white-space:pre-line }

Ответ 9

Я добавил только <br> внутри <td> и это хорошо работает, ломай черту!