4

以下代码输出 ab:

$var="a   b"; // I inserted 3 white spaces, and HTML is rendering only one
echo $var;

问题是,如果我将$var存储在表中,它将保留空格,并且在读取时将它们剥离。条带化数据在另一个表中更新时得到,导致两个表中的相同值不匹配。

我尝试了谷歌搜索,并在一个线程中发现了它的 HTML 行为方式。对我该如何解决这个问题有任何希望吗?

4

3 回答 3

7

正常的空白行为是将所有内容折叠到一个空格中。white-space:您可以通过将css 规则更改为white-space: pre;或来修改它white-space: pre-wrap;

有关详细信息,请参阅https://developer.mozilla.org/en/CSS/white-space

于 2012-06-29T07:56:47.110 回答
3

大多数浏览器的 html 输出中会修剪多个空格,而不是 html 代码本身。如果你想渲染多个空格,你可以使用str_replace(" ", " ",$var)它将告诉浏览器渲染每个空格字符。多个换行符也是如此,使用nl2br()

于 2012-06-29T07:46:22.790 回答
0

HTML 总是去除多余的空白字符(用于显示)。如果你想阻止这种使用 。但是,听起来您正在使用它进行对齐。永远不要那样做!

如果文本发生变化怎么办?

于 2012-06-29T07:46:36.623 回答