echo 修剪字符串中间的多个空格


echo trims multiple white spaces in the middle of string

以下代码输出 b:

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

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

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

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

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

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

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

如果文本更改怎么办?