Как показать многострочный текст в ячейке таблицы
Я хочу показать абзац из базы данных в ячейке таблицы.
результатом является большая 1 строка, игнорируя, как она организована в базе данных. игнорирование "вводит", например (новые строки)
Я хочу показать его точно в соответствии с тем, как он написан в базе данных.
например, если абзац сохраняется следующим образом:
hello ,
my name is x.
Я хочу, чтобы это было показано именно так, а не:
hello, myname is x.
7 ответов
вы хотите использовать CSS white-space:pre
применяется к соответствующему <td>
. Чтобы сделать это для всех ячеек таблицы, например:
td { white-space:pre }
кроме того, если вы можете изменить разметку, вы можете использовать <pre>
тег вокруг вашего контента. По умолчанию веб-браузеры используют таблицу стилей user-agent для применения одного и того же white-space:pre
правила для этого элемента.
элемент PRE сообщает агентам visual user, что вложенный текст "предварительно форматированный." При обработке предварительно отформатированного текста визуальные агенты пользователя:
- может оставить пробел нетронутым.
- может отображать текст шрифтом с фиксированным шагом.
- может отключить автоматический перенос слов.
- не следует отключать двунаправленную обработку.
style="white-space:pre-wrap; word-wrap:break-word"
это решило бы проблему новой строки. pre tag добавит дополнительный CSS, чем требуется.
оберните содержимое в <pre>
(предварительно отформатированный текст) тег
<pre>hello ,
my name is x.</pre>
у вас есть два пути решения этой проблемы.
Решение 1 (<p> or <br/>
)
вы можете добавить обновление конечной строки базы данных (\n
) к тегам html <p></p>
или <br />
.
Примером в php будет echo str_replace("\n","<br />",$database_text);
решение 2 (<pre>
)
С помощью тега html будет форматировать текст по желанию <pre>database text</pre>
, хотя это даст вам дополнительные проблемы css и должно использоваться только для основных ситуаций.
в коде на стороне сервера замените новые строки (\n
) с <br/>
.
Если вы используете PHP, вы можете использовать nl2br()
Привет мне нужно сделать то же самое! Не спрашивайте, почему, но я создавал html с помощью python и нуждался в способе перебирать элементы в списке и каждый элемент принимал свою собственную строку в одной ячейке таблицы.
Я обнаружил, что тег 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>
Это даст результат, который я хотел.
Я использую тег html-кода после каждой строки (см. ниже), и он работает для меня.
George Benson </br>
123 Main Street </br>
New York, Ny 12344 </br>