2012-06-29 159 views
4

下面的代码中间多个空格输出AB:回声修剪字符串

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

的问题是,如果我存储$ VAR在一个表中,将保持白色的空间,而阅读,它将它们剥离。条带化数据在另一个表中更新,导致两个表中的值相同。

我试过谷歌搜索,发现它的HTML行为如何。任何希望,我该如何解决这个问题?

+0

用CSS见https://developer.mozilla.org/en/CSS/white-space:'白色空间:前;' – Esailija

回答

3

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

+0

它的工作原理!谢谢! –

+3

无理由伤害表演的方式。走! –

0

HTML总是会剥去额外的空格字符(用于显示)。如果你想防止这种使用 。不过,这听起来像你正在使用它来对齐。永远不要这样做!

如果文字变化怎么办?

+0

虽然不用于对齐,但会尝试str_replace与&nbsp。谢谢你的回答 –

7

正常的空白行为是将所有东西都收缩到一个空间。您可以通过改变white-space: CSS规则修改为white-space: pre;white-space: pre-wrap;

更多细节