在 nl2br 中使用 table 标签时如何避免不必要的 br 标签?
How to avoid unnecessary br tags when using table tag in nl2br?
我有一个可变文本,有时包含纯文本,有时包含代码,有时包含 tables。
我想最小化数据库中的HTML标签,所以我没有在table
和text
中使用pre
标签,只在代码中使用(space其他两种情况不需要保存)。
现在我遇到了一个问题,我的数据 tables
通过 nl2br
导致我的源代码中出现以下输出。
<table><br />
<thead><br />
<tr><br />
<th>Operator</th><br />
<th>Left</th><br />
<th>Right</th><br />
<th>Remark</th><br />
</tr><br />
</thead><br />
<tbody><br />
<tr><br />
<td>/</td><br />
<td>10</td><br />
<td>5 or 5 / 2 / 1</td><br />
<td>Left operand is unambiguous, right is not</td><br />
</tr><br />
<tr><br />
<td>/</td><br />
<td>5 or 10 / 5</td><br />
<td>2 or 2 / 1<td><br />
<td>Both left and right are ambiguous</td><br />
</tr><br />
<tr><br />
<td>/</td><br />
<td>2 or 10 / 5 / 2</td><br />
<td>1</td><br />
<td>Right operand is unambiguous and left is not</td><br />
</tr><br />
</tbody><br />
</table><br />
但在 chrome 开发人员工具中,它显示的内容与此不同。
</p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br>
<table class="rembr">
<thead>
<tr>
<th>Operator</th>
<th>Left</th>
<th>Right</th>
<th>Remark</th>
</tr>
</thead>
<tbody>
<tr>
<td>/</td>
<td>10</td>
<td>5 or 5 / 2 / 1</td>
<td>Left operand is unambiguous, right is not</td>
</tr>
<tr>
<td>/</td>
<td>5 or 10 / 5</td>
<td>2 or 2 / 1</td><td>
</td><td>Both left and right are ambiguous</td>
</tr>
<tr>
<td>/</td>
<td>2 or 10 / 5 / 2</td>
<td>1</td>
<td>Right operand is unambiguous and left is not</td>
</tr>
</tbody>
</table><br>
我不明白为什么同一页面会有不同的输出。
好吧,现在,我想知道如何在 nl2br
中使用 table 标签而不在每个 table
标签后添加 br
?
经过几天的谷歌搜索,我找到了一个完美的解决方案。 pre-wrap
.
它会保留空格和新行,但会在溢出文本时换行。
所以,
div{
white-space: pre-wrap;
}
我有一个可变文本,有时包含纯文本,有时包含代码,有时包含 tables。
我想最小化数据库中的HTML标签,所以我没有在table
和text
中使用pre
标签,只在代码中使用(space其他两种情况不需要保存)。
现在我遇到了一个问题,我的数据 tables
通过 nl2br
导致我的源代码中出现以下输出。
<table><br />
<thead><br />
<tr><br />
<th>Operator</th><br />
<th>Left</th><br />
<th>Right</th><br />
<th>Remark</th><br />
</tr><br />
</thead><br />
<tbody><br />
<tr><br />
<td>/</td><br />
<td>10</td><br />
<td>5 or 5 / 2 / 1</td><br />
<td>Left operand is unambiguous, right is not</td><br />
</tr><br />
<tr><br />
<td>/</td><br />
<td>5 or 10 / 5</td><br />
<td>2 or 2 / 1<td><br />
<td>Both left and right are ambiguous</td><br />
</tr><br />
<tr><br />
<td>/</td><br />
<td>2 or 10 / 5 / 2</td><br />
<td>1</td><br />
<td>Right operand is unambiguous and left is not</td><br />
</tr><br />
</tbody><br />
</table><br />
但在 chrome 开发人员工具中,它显示的内容与此不同。
</p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br>
<table class="rembr">
<thead>
<tr>
<th>Operator</th>
<th>Left</th>
<th>Right</th>
<th>Remark</th>
</tr>
</thead>
<tbody>
<tr>
<td>/</td>
<td>10</td>
<td>5 or 5 / 2 / 1</td>
<td>Left operand is unambiguous, right is not</td>
</tr>
<tr>
<td>/</td>
<td>5 or 10 / 5</td>
<td>2 or 2 / 1</td><td>
</td><td>Both left and right are ambiguous</td>
</tr>
<tr>
<td>/</td>
<td>2 or 10 / 5 / 2</td>
<td>1</td>
<td>Right operand is unambiguous and left is not</td>
</tr>
</tbody>
</table><br>
我不明白为什么同一页面会有不同的输出。
好吧,现在,我想知道如何在 nl2br
中使用 table 标签而不在每个 table
标签后添加 br
?
经过几天的谷歌搜索,我找到了一个完美的解决方案。 pre-wrap
.
它会保留空格和新行,但会在溢出文本时换行。
所以,
div{
white-space: pre-wrap;
}