【发布时间】:2012-06-11 19:50:20
【问题描述】:
我想将数据库中的一段显示到表格单元格中。
结果是大的 1 行,忽略它在数据库中的组织方式。 例如忽略“进入”(新行)
我想完全按照它在数据库中的写入方式来展示它。
例如,如果段落是这样保存的:
hello ,
my name is x.
我希望它完全像那样显示,而不是:
hello, myname is x.
【问题讨论】:
我想将数据库中的一段显示到表格单元格中。
结果是大的 1 行,忽略它在数据库中的组织方式。 例如忽略“进入”(新行)
我想完全按照它在数据库中的写入方式来展示它。
例如,如果段落是这样保存的:
hello ,
my name is x.
我希望它完全像那样显示,而不是:
hello, myname is x.
【问题讨论】:
就我而言,我可以这样使用。
td { white-space:pre-line , word-break: break-all}
【讨论】:
如果你有一个带有\n的字符串变量,你想把它放在td里面,你可以试试
<td>
{value
.split('\n')
.map((s, index) => (
<React.Fragment key={index}>
{s}
<br />
</React.Fragment>
))}
</td>
【讨论】:
解决这个问题的两个建议:
解决方案 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>,但这需要更多的文本解析。
【讨论】:
下面的代码对我来说就像魔术一样>>
td { white-space:pre-line }
【讨论】:
我只在<td> 中添加了<br>,效果很好,打破常规!
【讨论】:
style="white-space:pre-wrap; word-wrap:break-word"
这将解决换行问题。 pre 标签会添加额外的 CSS。
【讨论】:
<pre> 标签除了允许换行符之外,还可以做各种事情,但这些样式设置只能解决出现的问题。
替换文本)仅被视为文本。这个解决方案完美地解决了这个问题。
嗨,我需要做同样的事情!不要问为什么,但我正在使用 python 生成一个 html,并且需要一种方法来遍历列表中的项目,并让每个项目在表的单个单元格中占据自己的一行。
我发现 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>
【讨论】:
在您的服务器端代码中,将新行 (\n) 替换为 <br/>。
如果你使用 PHP,你可以使用nl2br()
【讨论】:
您希望将 CSS white-space:pre 应用于相应的 <td>。对所有表格单元格执行此操作,例如:
td { white-space:pre }
或者,如果您可以更改标记,则可以在内容周围使用<pre> 标记。默认情况下,Web 浏览器使用其用户代理样式表将相同的 white-space:pre 规则应用于此元素。
PRE 元素告诉视觉用户代理,封闭的文本是“预格式化的”。处理预格式化文本时,可视化用户代理:
- 可能会留下完整的空白。
- 可以使用固定间距字体呈现文本。
- 可能会禁用自动换行。
- 不得禁用双向处理。
【讨论】:
white-space 是一个受到广泛支持的 CSS 2.1 属性。在 IE8 上测试,效果很好。
white-space: pre; 在<td> 标签中应用时被忽略的情况。使用<pre></pre> 包装我们的内容可以正常工作,但由于使用此表(导出到 excel),大量的列和行会使导出文件的大小膨胀并导致 excel 在读取文件时崩溃。 (奇怪,我知道)。有没有其他人看到这个或有解决方案的想法?
将内容包装在<pre>(预格式化文本)标签中
<pre>hello ,
my name is x.</pre>
【讨论】: