在nl2br中使用表格标签时,如何避免不必要的br标签?

时间:2018-07-01 09:24:01

标签: javascript php html nl2br

我有一个可变文本,有时包含纯文本,有时包含代码,有时包含表。

我想最小化数据库中的HTML标记,因此我没有在pretable中使用text标记,而是仅在代码中使用了(不需要保留空间)在其他两种情况下)。

现在,我陷入了一个问题,我将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标签后面没有br的情况下在table中使用表格标签?

1 个答案:

答案 0 :(得分:0)

经过数天的搜索,我找到了一个完美的解决方案。 pre-wrap

它将保留空格和换行符,但在文本溢出时会自动换行。

所以

div{
    white-space: pre-wrap;
}